DRILL-4858: Added tests to verify that repeated_count function can work with repeated lists and maps (#569)

diff --git a/framework/resources/Datasources/complex/json/DRILL_4858/repeated_count_data.json b/framework/resources/Datasources/complex/json/DRILL_4858/repeated_count_data.json
new file mode 100644
index 0000000..d64ab87
--- /dev/null
+++ b/framework/resources/Datasources/complex/json/DRILL_4858/repeated_count_data.json
@@ -0,0 +1,68 @@
+{
+	"id" : 0,
+	"repeated_list": [[false,true], [false,true]],
+	"repeated_map": [
+		{
+			"a": "b",
+			"b": "as"
+		},
+		{
+			"a": "",
+			"b": "sas"
+		},
+		{
+			"a": "",
+			"b": "sas"
+		}
+	]
+}
+{
+	"id" : 1,
+	"repeated_list": [],
+	"repeated_map": [
+		{
+			"a": "b",
+			"b": "as"
+		},
+		{
+			"a": "",
+			"b": "sas"
+		}
+	]
+}
+{
+	"id" : 2,
+	"repeated_list": [[false], [false,true], []],
+	"repeated_map": [
+	]
+}
+{
+	"id" : 3,
+	"repeated_list": [[false,true], [false,true], []],
+	"repeated_map": [
+		{
+			"a": "b"
+		},
+		{
+			"a": "",
+			"b": "sas"
+		}
+	]
+}
+{
+	"id" : 4,
+	"repeated_list": [[false,true], [false,true], []],
+	"repeated_map": [
+		{
+			"a": "b"
+		},
+		{
+			"a": null,
+			"b": "sas"
+		},
+		{
+			"a": null,
+			"b": "sas"
+		}
+	]
+}
\ No newline at end of file
diff --git a/framework/resources/Functional/functions/repeated_count/DRILL_4858_repeated_list.e_tsv b/framework/resources/Functional/functions/repeated_count/DRILL_4858_repeated_list.e_tsv
new file mode 100644
index 0000000..01caf55
--- /dev/null
+++ b/framework/resources/Functional/functions/repeated_count/DRILL_4858_repeated_list.e_tsv
@@ -0,0 +1,5 @@
+0	2
+1	0
+2	3
+3	3
+4	3
\ No newline at end of file
diff --git a/framework/resources/Functional/functions/repeated_count/DRILL_4858_repeated_list.sql b/framework/resources/Functional/functions/repeated_count/DRILL_4858_repeated_list.sql
new file mode 100644
index 0000000..b4863ec
--- /dev/null
+++ b/framework/resources/Functional/functions/repeated_count/DRILL_4858_repeated_list.sql
@@ -0,0 +1 @@
+select id, repeated_count(repeated_list) from `/DRILL_4858/repeated_count_data.json`;
\ No newline at end of file
diff --git a/framework/resources/Functional/functions/repeated_count/DRILL_4858_repeated_map.e_tsv b/framework/resources/Functional/functions/repeated_count/DRILL_4858_repeated_map.e_tsv
new file mode 100644
index 0000000..eef3f09
--- /dev/null
+++ b/framework/resources/Functional/functions/repeated_count/DRILL_4858_repeated_map.e_tsv
@@ -0,0 +1,5 @@
+0	3
+1	2
+2	0
+3	2
+4	3
\ No newline at end of file
diff --git a/framework/resources/Functional/functions/repeated_count/DRILL_4858_repeated_map.sql b/framework/resources/Functional/functions/repeated_count/DRILL_4858_repeated_map.sql
new file mode 100644
index 0000000..c026d2e
--- /dev/null
+++ b/framework/resources/Functional/functions/repeated_count/DRILL_4858_repeated_map.sql
@@ -0,0 +1 @@
+select id, repeated_count(repeated_map) from `/DRILL_4858/repeated_count_data.json`;
\ No newline at end of file
diff --git a/framework/resources/Functional/functions/repeated_count/repeated_count.json b/framework/resources/Functional/functions/repeated_count/repeated_count.json
new file mode 100644
index 0000000..e5ad95c
--- /dev/null
+++ b/framework/resources/Functional/functions/repeated_count/repeated_count.json
@@ -0,0 +1,26 @@
+{
+  "testId": "repeated_count",
+  "type": "group",
+  "description": "Tests for repeated_count function",
+  "categories": [
+    "functional"
+  ],
+  "matrices": [
+    {
+      "query-file": ".*.sql",
+      "schema": "dfs.drillTestDirComplexJson",
+      "output-format": "tsv",
+      "expected-file": ".*.e_tsv",
+      "verification-type": [
+        "in-memory"
+      ]
+    }
+  ],
+  "datasources": [
+    {
+      "mode": "cp",
+      "src": "Datasources/complex/json/DRILL_4858/repeated_count_data.json",
+      "dest": "complex/json/DRILL_4858/repeated_count_data.json"
+    }
+  ]
+}
\ No newline at end of file