private void testVisitor( String aggregateAttribute, String aggregateVisitor, String firstGroupByAttribute, String secondGroupByAttribute, Object[][] expectedResults) throws Exception { testVisitor( aggregateAttribute, aggregateVisitor, new String[] {firstGroupByAttribute, secondGroupByAttribute}, expectedResults); }
private void testVisitor( String aggregateAttribute, String aggregateVisitor, String groupByAttribute, Object[][] expectedResults) throws Exception { testVisitor( aggregateAttribute, aggregateVisitor, new String[] {groupByAttribute}, expectedResults); }
@Test public void testGroupByWithStdDevAndSingleAttribute() throws Exception { testVisitor( "energy_consumption", "StdDev", "building_type", new Object[][] { new Object[] {"SCHOOL", 19.149}, new Object[] {"FABRIC", 194.487}, new Object[] {"HOUSE", 1.0} }); }
@Test public void testGroupByWithMaxAndSingleAttribute() throws Exception { testVisitor( "energy_consumption", "Max", "building_type", new Object[][] { new Object[] {"SCHOOL", 60.0}, new Object[] {"FABRIC", 500.0}, new Object[] {"HOUSE", 6.0} }); }
@Test public void testGroupByWithMinAndSingleAttribute() throws Exception { testVisitor( "energy_consumption", "Min", "building_type", new Object[][] { new Object[] {"SCHOOL", 10.0}, new Object[] {"FABRIC", 20.0}, new Object[] {"HOUSE", 4.0} }); }
@Test public void testGroupByWithSumDevAndSingleAttribute() throws Exception { testVisitor( "energy_consumption", "Sum", "building_type", new Object[][] { new Object[] {"SCHOOL", 180.0}, new Object[] {"FABRIC", 700.0}, new Object[] {"HOUSE", 10.0} }); }
@Test public void testGroupByWithAverageAndSingleAttribute() throws Exception { testVisitor( "energy_consumption", "Average", "building_type", new Object[][] { new Object[] {"SCHOOL", 30.0}, new Object[] {"FABRIC", 175.0}, new Object[] {"HOUSE", 5.0} }); }
@Test public void testGroupByWithCountAndSingleAttribute() throws Exception { testVisitor( "energy_consumption", "Count", "building_type", new Object[][] { new Object[] {"SCHOOL", 6}, new Object[] {"FABRIC", 4}, new Object[] {"HOUSE", 2} }); }
@Test public void testGroupByWithMedianAndSingleAttribute() throws Exception { testVisitor( "energy_consumption", "Median", "building_type", new Object[][] { new Object[] {"SCHOOL", 25.0}, new Object[] {"FABRIC", 90.0}, new Object[] {"HOUSE", 5.0} }); }
@Test public void testGroupByWithMaxAndTwoAttributes() throws Exception { testVisitor( "energy_consumption", "Max", "building_type", "energy_type", new Object[][] { new Object[] {"FABRIC", "FLOWING_WATER", 500.0}, new Object[] {"FABRIC", "NUCLEAR", 150.0}, new Object[] {"FABRIC", "SOLAR", 30.0}, new Object[] {"FABRIC", "WIND", 20.0}, new Object[] {"HOUSE", "FUEL", 6.0}, new Object[] {"HOUSE", "NUCLEAR", 4.0}, new Object[] {"SCHOOL", "FLOWING_WATER", 50.0}, new Object[] {"SCHOOL", "FUEL", 60.0}, new Object[] {"SCHOOL", "NUCLEAR", 10.0}, new Object[] {"SCHOOL", "SOLAR", 30.0}, new Object[] {"SCHOOL", "WIND", 20.0} }); }
@Test public void testGroupByWithMinAndTwoAttributes() throws Exception { testVisitor( "energy_consumption", "Min", "building_type", "energy_type", new Object[][] { new Object[] {"FABRIC", "FLOWING_WATER", 500.0}, new Object[] {"FABRIC", "NUCLEAR", 150.0}, new Object[] {"FABRIC", "SOLAR", 30.0}, new Object[] {"FABRIC", "WIND", 20.0}, new Object[] {"HOUSE", "FUEL", 6.0}, new Object[] {"HOUSE", "NUCLEAR", 4.0}, new Object[] {"SCHOOL", "FLOWING_WATER", 50.0}, new Object[] {"SCHOOL", "FUEL", 60.0}, new Object[] {"SCHOOL", "NUCLEAR", 10.0}, new Object[] {"SCHOOL", "SOLAR", 30.0}, new Object[] {"SCHOOL", "WIND", 20.0} }); }
@Test public void testGroupByWithMedianAndTwoAttributes() throws Exception { testVisitor( "energy_consumption", "Median", "building_type", "energy_type", new Object[][] { new Object[] {"FABRIC", "FLOWING_WATER", 500.0}, new Object[] {"FABRIC", "NUCLEAR", 150.0}, new Object[] {"FABRIC", "SOLAR", 30.0}, new Object[] {"FABRIC", "WIND", 20.0}, new Object[] {"HOUSE", "FUEL", 6.0}, new Object[] {"HOUSE", "NUCLEAR", 4.0}, new Object[] {"SCHOOL", "FLOWING_WATER", 50.0}, new Object[] {"SCHOOL", "FUEL", 60.0}, new Object[] {"SCHOOL", "NUCLEAR", 10.0}, new Object[] {"SCHOOL", "SOLAR", 30.0}, new Object[] {"SCHOOL", "WIND", 20.0} }); }
@Test public void testGroupByWithCountAndTwoAttributes() throws Exception { testVisitor( "energy_consumption", "Count", "building_type", "energy_type", new Object[][] { new Object[] {"FABRIC", "FLOWING_WATER", 1}, new Object[] {"FABRIC", "NUCLEAR", 1}, new Object[] {"FABRIC", "SOLAR", 1}, new Object[] {"FABRIC", "WIND", 1}, new Object[] {"HOUSE", "FUEL", 1}, new Object[] {"HOUSE", "NUCLEAR", 1}, new Object[] {"SCHOOL", "FLOWING_WATER", 1}, new Object[] {"SCHOOL", "FUEL", 1}, new Object[] {"SCHOOL", "NUCLEAR", 2}, new Object[] {"SCHOOL", "SOLAR", 1}, new Object[] {"SCHOOL", "WIND", 1} }); }
@Test public void testGroupByWithAverageAndTwoAttributes() throws Exception { testVisitor( "energy_consumption", "Average", "building_type", "energy_type", new Object[][] { new Object[] {"FABRIC", "FLOWING_WATER", 500.0}, new Object[] {"FABRIC", "NUCLEAR", 150.0}, new Object[] {"FABRIC", "SOLAR", 30.0}, new Object[] {"FABRIC", "WIND", 20.0}, new Object[] {"HOUSE", "FUEL", 6.0}, new Object[] {"HOUSE", "NUCLEAR", 4.0}, new Object[] {"SCHOOL", "FLOWING_WATER", 50.0}, new Object[] {"SCHOOL", "FUEL", 60.0}, new Object[] {"SCHOOL", "NUCLEAR", 10.0}, new Object[] {"SCHOOL", "SOLAR", 30.0}, new Object[] {"SCHOOL", "WIND", 20.0} }); }
@Test public void testGroupByWithStdDevAndTwoAttributes() throws Exception { testVisitor( "energy_consumption", "StdDev", "building_type", "energy_type", new Object[][] { new Object[] {"FABRIC", "FLOWING_WATER", 0.0}, new Object[] {"FABRIC", "NUCLEAR", 0.0}, new Object[] {"FABRIC", "SOLAR", 0.0}, new Object[] {"FABRIC", "WIND", 0.0}, new Object[] {"HOUSE", "FUEL", 0.0}, new Object[] {"HOUSE", "NUCLEAR", 0.0}, new Object[] {"SCHOOL", "FLOWING_WATER", 0.0}, new Object[] {"SCHOOL", "FUEL", 0.0}, new Object[] {"SCHOOL", "NUCLEAR", 0.0}, new Object[] {"SCHOOL", "SOLAR", 0.0}, new Object[] {"SCHOOL", "WIND", 0.0} }); }
@Test public void testGroupByWithSumDevAndTwoAttributes() throws Exception { testVisitor( "energy_consumption", "Sum", "building_type", "energy_type", new Object[][] { new Object[] {"FABRIC", "FLOWING_WATER", 500.0}, new Object[] {"FABRIC", "NUCLEAR", 150.0}, new Object[] {"FABRIC", "SOLAR", 30.0}, new Object[] {"FABRIC", "WIND", 20.0}, new Object[] {"HOUSE", "FUEL", 6.0}, new Object[] {"HOUSE", "NUCLEAR", 4.0}, new Object[] {"SCHOOL", "FLOWING_WATER", 50.0}, new Object[] {"SCHOOL", "FUEL", 60.0}, new Object[] {"SCHOOL", "NUCLEAR", 20.0}, new Object[] {"SCHOOL", "SOLAR", 30.0}, new Object[] {"SCHOOL", "WIND", 20.0} }); }