walterddr commented on code in PR #9657:
URL: https://github.com/apache/pinot/pull/9657#discussion_r1005157062


##########
pinot-core/src/test/java/org/apache/pinot/queries/NullEnabledQueriesTest.java:
##########
@@ -156,131 +179,186 @@ private void setUp(TableConfig tableConfig, DataType 
dataType)
     _indexSegments = Arrays.asList(immutableSegment, immutableSegment);
   }
 
-  @Test
-  public void testQueriesWithDictFloatColumn()
+  @Test(dataProvider = "numberColumnTypeProvider")
+  public void testQueriesWithDictColumn(ColumnDataType columnDataType, Number 
baseValue, boolean generateNulls)
       throws Exception {
-    ColumnDataType columnDataType = ColumnDataType.FLOAT;
-    float baseValue = RANDOM.nextFloat();
-    boolean generateNulls = true;
-    createRecords(baseValue, generateNulls);
+    createNumericRecords(baseValue, columnDataType, generateNulls);
     TableConfig tableConfig = new TableConfigBuilder(TableType.OFFLINE)
         .setTableName(RAW_TABLE_NAME)
         .build();
     setUp(tableConfig, columnDataType.toDataType());
-    testQueries(baseValue, columnDataType, generateNulls);
+    testQueriesNumeric(baseValue, columnDataType, generateNulls);
   }
 
-  @Test(priority = 1)
-  public void testQueriesWithNoDictFloatColumn()
+  @Test(dataProvider = "numberColumnTypeProvider")
+  public void testQueriesWithNoDictColumn(ColumnDataType columnDataType, 
Number baseValue, boolean generateNulls)
       throws Exception {
-    ColumnDataType columnDataType = ColumnDataType.FLOAT;
-    float baseValue = RANDOM.nextFloat();
-    boolean generateNulls = true;
-    createRecords(baseValue, generateNulls);
+    createNumericRecords(baseValue, columnDataType, generateNulls);
     List<String> noDictionaryColumns = new ArrayList<String>();
     noDictionaryColumns.add(COLUMN_NAME);
     TableConfig tableConfig = new TableConfigBuilder(TableType.OFFLINE)
         .setTableName(RAW_TABLE_NAME)
         .setNoDictionaryColumns(noDictionaryColumns)
         .build();
     setUp(tableConfig, columnDataType.toDataType());
-    testQueries(baseValue, columnDataType, generateNulls);
+    testQueriesNumeric(baseValue, columnDataType, generateNulls);
   }
 
-  @Test(priority = 2)
-  public void testQueriesWithDictDoubleColumn()
+  @Test(dataProvider = "otherColumnTypeProvider")
+  public void testQueriesByTypeWithDictColumn(ColumnDataType columnDataType, 
Object baseValue, boolean generateNulls)
       throws Exception {
-    ColumnDataType columnDataType = ColumnDataType.DOUBLE;
-    double baseValue = RANDOM.nextDouble();
-    boolean generateNulls = true;
-    createRecords(baseValue, generateNulls);
+    createOtherRecords(baseValue, columnDataType, generateNulls);
     TableConfig tableConfig = new TableConfigBuilder(TableType.OFFLINE)
         .setTableName(RAW_TABLE_NAME)
         .build();
     setUp(tableConfig, columnDataType.toDataType());
-    testQueries(baseValue, columnDataType, generateNulls);
+    testQueriesGeneric(columnDataType, generateNulls);
   }
 
-  @Test(priority = 3)
-  public void testQueriesWithNoDictDoubleColumn()
+  @Test(dataProvider = "otherColumnTypeProvider")
+  public void testQueriesByTypeWithNoDictColumn(ColumnDataType columnDataType, 
Object baseValue, boolean generateNulls)
       throws Exception {
-    ColumnDataType columnDataType = ColumnDataType.DOUBLE;
-    double baseValue = RANDOM.nextDouble();
-    boolean generateNulls = true;
-    createRecords(baseValue, generateNulls);
+    createOtherRecords(baseValue, columnDataType, generateNulls);
     List<String> noDictionaryColumns = new ArrayList<String>();
     noDictionaryColumns.add(COLUMN_NAME);
     TableConfig tableConfig = new TableConfigBuilder(TableType.OFFLINE)
         .setTableName(RAW_TABLE_NAME)
         .setNoDictionaryColumns(noDictionaryColumns)
         .build();
     setUp(tableConfig, columnDataType.toDataType());
-    testQueries(baseValue, columnDataType, generateNulls);
+    testQueriesGeneric(columnDataType, generateNulls);
   }
 
-  @Test(priority = 4)
-  public void testQueriesWithDictFloatColumnNoNullValues()
-          throws Exception {
-    ColumnDataType columnDataType = ColumnDataType.FLOAT;
-    float baseValue = RANDOM.nextFloat();
-    boolean generateNulls = false;
-    createRecords(baseValue, generateNulls);
-    TableConfig tableConfig = new TableConfigBuilder(TableType.OFFLINE)
-            .setTableName(RAW_TABLE_NAME)
-            .build();
-    setUp(tableConfig, columnDataType.toDataType());
-    testQueries(baseValue, columnDataType, generateNulls);
+  @DataProvider(name = "numberColumnTypeProvider")
+  public Object[][] provideNumberColumnTypeAndRandomVal() {
+    return new Object[][]{
+        new Object[]{ColumnDataType.FLOAT, RANDOM.nextFloat(), true},
+        new Object[]{ColumnDataType.DOUBLE, RANDOM.nextDouble(), true},
+        new Object[]{ColumnDataType.FLOAT, RANDOM.nextFloat(), false},
+        new Object[]{ColumnDataType.DOUBLE, RANDOM.nextDouble(), false},
+    };
   }
 
-  @Test(priority = 5)
-  public void testQueriesWithNoDictFloatColumnNoNullValues()
-          throws Exception {
-    ColumnDataType columnDataType = ColumnDataType.FLOAT;
-    float baseValue = RANDOM.nextFloat();
-    boolean generateNulls = false;
-    createRecords(baseValue, generateNulls);
-    List<String> noDictionaryColumns = new ArrayList<String>();
-    noDictionaryColumns.add(COLUMN_NAME);
-    TableConfig tableConfig = new TableConfigBuilder(TableType.OFFLINE)
-            .setTableName(RAW_TABLE_NAME)
-            .setNoDictionaryColumns(noDictionaryColumns)
-            .build();
-    setUp(tableConfig, columnDataType.toDataType());
-    testQueries(baseValue, columnDataType, generateNulls);
+  @DataProvider(name = "otherColumnTypeProvider")
+  public Object[][] provideOtherColumnTypeAndRandomVal() {
+    return new Object[][]{
+        new Object[]{ColumnDataType.INT, RANDOM.nextInt(), true},
+        new Object[]{ColumnDataType.LONG, RANDOM.nextInt(), true},
+        new Object[]{ColumnDataType.BOOLEAN, RANDOM.nextInt(2), true},
+        new Object[]{ColumnDataType.STRING, RANDOM.nextInt(), true},
+        new Object[]{ColumnDataType.TIMESTAMP, RANDOM.nextInt(), true},
+        new Object[]{ColumnDataType.INT, RANDOM.nextInt(), false},
+        new Object[]{ColumnDataType.LONG, RANDOM.nextInt(), false},
+        new Object[]{ColumnDataType.BOOLEAN, RANDOM.nextInt(2), false},
+        new Object[]{ColumnDataType.STRING, RANDOM.nextInt(), false},
+        new Object[]{ColumnDataType.TIMESTAMP, RANDOM.nextInt(), false},

Review Comment:
   Ah I see thanks for the info. I wasn't aware of the other tests



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to