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