This is an automated email from the ASF dual-hosted git repository.

cwylie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/druid.git


The following commit(s) were added to refs/heads/master by this push:
     new 2cfb00b1de Add missing `isNull()` implementation to 
`FilteredAggregator` (#14465)
2cfb00b1de is described below

commit 2cfb00b1de928a48a1c61bc04c10cdbccab33866
Author: Abhishek Radhakrishnan <[email protected]>
AuthorDate: Tue Jun 27 16:35:15 2023 -0700

    Add missing `isNull()` implementation to `FilteredAggregator` (#14465)
---
 .../query/aggregation/FilteredAggregator.java      |   6 +
 .../query/aggregation/FilteredAggregatorTest.java  | 396 ++++++++++++---------
 .../segment/TestNullableDoubleColumnSelector.java  |   4 -
 .../segment/TestNullableFloatColumnSelector.java   |   4 -
 .../segment/TestNullableLongColumnSelector.java    |   4 -
 .../segment/WrappingDimensionSelectorTest.java     |   3 +-
 6 files changed, 226 insertions(+), 191 deletions(-)

diff --git 
a/processing/src/main/java/org/apache/druid/query/aggregation/FilteredAggregator.java
 
b/processing/src/main/java/org/apache/druid/query/aggregation/FilteredAggregator.java
index 6ffea5b70f..edb6b8a601 100644
--- 
a/processing/src/main/java/org/apache/druid/query/aggregation/FilteredAggregator.java
+++ 
b/processing/src/main/java/org/apache/druid/query/aggregation/FilteredAggregator.java
@@ -40,6 +40,12 @@ public class FilteredAggregator implements Aggregator
     }
   }
 
+  @Override
+  public boolean isNull()
+  {
+    return delegate.isNull();
+  }
+
   @Override
   public Object get()
   {
diff --git 
a/processing/src/test/java/org/apache/druid/query/aggregation/FilteredAggregatorTest.java
 
b/processing/src/test/java/org/apache/druid/query/aggregation/FilteredAggregatorTest.java
index 7c1d809594..da2e7be83d 100644
--- 
a/processing/src/test/java/org/apache/druid/query/aggregation/FilteredAggregatorTest.java
+++ 
b/processing/src/test/java/org/apache/druid/query/aggregation/FilteredAggregatorTest.java
@@ -45,46 +45,221 @@ import org.apache.druid.segment.ColumnValueSelector;
 import org.apache.druid.segment.DimensionSelector;
 import org.apache.druid.segment.DimensionSelectorUtils;
 import org.apache.druid.segment.IdLookup;
+import org.apache.druid.segment.TestNullableFloatColumnSelector;
 import org.apache.druid.segment.column.ColumnCapabilities;
 import org.apache.druid.segment.column.ColumnCapabilitiesImpl;
 import org.apache.druid.segment.column.ColumnType;
 import org.apache.druid.segment.data.IndexedInts;
 import org.apache.druid.segment.data.SingleIndexedInt;
+import org.apache.druid.testing.InitializedNullHandlingTest;
 import org.junit.Assert;
 import org.junit.Test;
 
 import javax.annotation.Nullable;
 import java.util.Arrays;
 
-public class FilteredAggregatorTest
+public class FilteredAggregatorTest extends InitializedNullHandlingTest
 {
-  private void aggregate(TestFloatColumnSelector selector, FilteredAggregator 
agg)
+  @Test
+  public void testAggregate()
   {
-    agg.aggregate();
-    selector.increment();
+    final Float[] values = {0.15f, 0.27f};
+    final TestNullableFloatColumnSelector selector = new 
TestNullableFloatColumnSelector(values);
+    final FilteredAggregatorFactory factory = new FilteredAggregatorFactory(
+        new FloatSumAggregatorFactory("billy", "value"),
+        new SelectorDimFilter("dim", "a", null)
+    );
+
+    final Float[] expectedVals = {values[0], values[0] + values[1]};
+    validateFilteredAggs(factory, selector, expectedVals);
   }
 
   @Test
-  public void testAggregate()
+  public void testAggregateWithNullVals()
   {
-    final float[] values = {0.15f, 0.27f};
-    final TestFloatColumnSelector selector = new 
TestFloatColumnSelector(values);
+    final Float[] values = {0.15f, null, 0.27f};
+    final TestNullableFloatColumnSelector selector = new 
TestNullableFloatColumnSelector(values);
 
-    FilteredAggregatorFactory factory = new FilteredAggregatorFactory(
-        new DoubleSumAggregatorFactory("billy", "value"),
+    final FilteredAggregatorFactory factory = new FilteredAggregatorFactory(
+        new FloatSumAggregatorFactory("billy", "value"),
+        new SelectorDimFilter("dim", "a", null)
+    );
+
+    final Float[] expectedValues = {values[0], values[0], values[0] + 
values[2]};
+    validateFilteredAggs(factory, selector, expectedValues);
+  }
+
+  @Test
+  public void testAggregateOnlyWithNulls()
+  {
+    final Float[] values = {null, null};
+    final TestNullableFloatColumnSelector selector = new 
TestNullableFloatColumnSelector(values);
+    final FilteredAggregatorFactory factory = new FilteredAggregatorFactory(
+        new FloatSumAggregatorFactory("billy", "value"),
         new SelectorDimFilter("dim", "a", null)
     );
 
-    FilteredAggregator agg = (FilteredAggregator) 
factory.factorize(makeColumnSelector(selector));
+    final Float[] expectedValues = {NullHandling.defaultFloatValue(), 
NullHandling.defaultFloatValue()};
+    validateFilteredAggs(factory, selector, expectedValues);
+  }
+
+
+  @Test
+  public void testAggregateWithNotFilter()
+  {
+    final Float[] values = {0.15f, 0.27f};
+    final TestNullableFloatColumnSelector selector = new 
TestNullableFloatColumnSelector(values);
+    final FilteredAggregatorFactory factory = new FilteredAggregatorFactory(
+        new DoubleSumAggregatorFactory("billy", "value"),
+        new NotDimFilter(new SelectorDimFilter("dim", "b", null))
+    );
+
+    final Float[] expectedValues = {values[0], values[0] + values[1]};
+    validateFilteredAggs(factory, selector, expectedValues);
+  }
+
+  @Test
+  public void testAggregateWithOrFilter()
+  {
+    final Float[] values = {0.15f, 0.27f, 0.14f};
+    final TestNullableFloatColumnSelector selector = new 
TestNullableFloatColumnSelector(values);
+
+    final FilteredAggregatorFactory factory = new FilteredAggregatorFactory(
+        new DoubleSumAggregatorFactory("billy", "value"),
+        new OrDimFilter(Lists.newArrayList(
+            new SelectorDimFilter("dim", "a", null),
+            new SelectorDimFilter("dim", "b", null)
+        ))
+    );
+
+    final Float[] expectedValues = {values[0], values[0] + values[1], 
values[0] + values[1] + values[2]};
+    validateFilteredAggs(factory, selector, expectedValues);
+  }
+
+  @Test
+  public void testAggregateWithAndFilter()
+  {
+    final Float[] values = {0.15f, 0.27f};
+    final TestNullableFloatColumnSelector selector = new 
TestNullableFloatColumnSelector(values);
+    final FilteredAggregatorFactory factory = new FilteredAggregatorFactory(
+        new DoubleSumAggregatorFactory("billy", "value"),
+        new AndDimFilter(Lists.newArrayList(
+            new NotDimFilter(new SelectorDimFilter("dim", "b", null)),
+            new SelectorDimFilter("dim", "a", null)
+        ))
+    );
+
+    final Float[] expectedValues = {values[0], values[0] + values[1]};
+    validateFilteredAggs(factory, selector, expectedValues);
+  }
+
+  @Test
+  public void testAggregateWithPredicateFilters2()
+  {
+    final Float[] values = {0.15f, 0.27f, null};
+    final Float[] expectedValues = {values[0], values[0] + values[1], 
values[0] + values[1]};
+    TestNullableFloatColumnSelector selector;
+    FilteredAggregatorFactory factory;
+
+    factory = new FilteredAggregatorFactory(
+        new DoubleSumAggregatorFactory("billy", "value"),
+        new BoundDimFilter("dim", "a", "a", false, false, true, null, 
StringComparators.ALPHANUMERIC)
+    );
+    selector = new TestNullableFloatColumnSelector(values);
+    validateFilteredAggs(factory, selector, expectedValues);
+
+    factory = new FilteredAggregatorFactory(
+        new DoubleSumAggregatorFactory("billy", "value"),
+        new RegexDimFilter("dim", "a", null)
+    );
+    selector = new TestNullableFloatColumnSelector(values);
+    validateFilteredAggs(factory, selector, expectedValues);
 
-    double expectedFirst = new Float(values[0]).doubleValue();
-    double expectedSecond = new Float(values[1]).doubleValue() + expectedFirst;
-    double expectedThird = expectedSecond;
+    factory = new FilteredAggregatorFactory(
+        new DoubleSumAggregatorFactory("billy", "value"),
+        new SearchQueryDimFilter("dim", new ContainsSearchQuerySpec("a", 
true), null)
+    );
+    selector = new TestNullableFloatColumnSelector(values);
+    validateFilteredAggs(factory, selector, expectedValues);
 
-    assertValues(agg, selector, expectedFirst, expectedSecond, expectedThird);
+    String jsFn = "function(x) { return(x === 'a') }";
+    factory = new FilteredAggregatorFactory(
+        new DoubleSumAggregatorFactory("billy", "value"),
+        new JavaScriptDimFilter("dim", jsFn, null, 
JavaScriptConfig.getEnabledInstance())
+    );
+    selector = new TestNullableFloatColumnSelector(values);
+    validateFilteredAggs(factory, selector, expectedValues);
   }
 
-  private ColumnSelectorFactory makeColumnSelector(final 
TestFloatColumnSelector selector)
+  @Test
+  public void testAggregateWithExtractionFns()
+  {
+    final Float[] values = {0.15f, null, 0.27f, null, 0.13f};
+    final Float[] expectedValues = {
+        values[0],
+        values[0],
+        values[0] + values[2],
+        values[0] + values[2],
+        values[0] + values[2] + values[4]
+    };
+
+    TestNullableFloatColumnSelector selector;
+    FilteredAggregatorFactory factory;
+
+    String extractionJsFn = "function(str) { return str + 'AARDVARK'; }";
+    ExtractionFn extractionFn = new JavaScriptExtractionFn(
+        extractionJsFn,
+        false,
+        JavaScriptConfig.getEnabledInstance()
+    );
+
+    factory = new FilteredAggregatorFactory(
+        new DoubleSumAggregatorFactory("billy", "value"),
+        new SelectorDimFilter("dim", "aAARDVARK", extractionFn)
+    );
+    selector = new TestNullableFloatColumnSelector(values);
+    validateFilteredAggs(factory, selector, expectedValues);
+
+    factory = new FilteredAggregatorFactory(
+        new DoubleSumAggregatorFactory("billy", "value"),
+        new InDimFilter("dim", Arrays.asList("NOT-aAARDVARK", "FOOBAR", 
"aAARDVARK"), extractionFn)
+    );
+    selector = new TestNullableFloatColumnSelector(values);
+    validateFilteredAggs(factory, selector, expectedValues);
+
+    factory = new FilteredAggregatorFactory(
+        new DoubleSumAggregatorFactory("billy", "value"),
+        new BoundDimFilter("dim", "aAARDVARK", "aAARDVARK", false, false, 
true, extractionFn,
+                           StringComparators.ALPHANUMERIC
+        )
+    );
+    selector = new TestNullableFloatColumnSelector(values);
+    validateFilteredAggs(factory, selector, expectedValues);
+
+    factory = new FilteredAggregatorFactory(
+        new DoubleSumAggregatorFactory("billy", "value"),
+        new RegexDimFilter("dim", "aAARDVARK", extractionFn)
+    );
+    selector = new TestNullableFloatColumnSelector(values);
+    validateFilteredAggs(factory, selector, expectedValues);
+
+    factory = new FilteredAggregatorFactory(
+        new DoubleSumAggregatorFactory("billy", "value"),
+        new SearchQueryDimFilter("dim", new 
ContainsSearchQuerySpec("aAARDVARK", true), extractionFn)
+    );
+    selector = new TestNullableFloatColumnSelector(values);
+    validateFilteredAggs(factory, selector, expectedValues);
+
+    String jsFn = "function(x) { return(x === 'aAARDVARK') }";
+    factory = new FilteredAggregatorFactory(
+        new DoubleSumAggregatorFactory("billy", "value"),
+        new JavaScriptDimFilter("dim", jsFn, extractionFn, 
JavaScriptConfig.getEnabledInstance())
+    );
+    selector = new TestNullableFloatColumnSelector(values);
+    validateFilteredAggs(factory, selector, expectedValues);
+  }
+
+  private ColumnSelectorFactory makeColumnSelector(final 
TestNullableFloatColumnSelector selector)
   {
 
     return new ColumnSelectorFactory()
@@ -102,11 +277,7 @@ public class FilteredAggregatorTest
                 public IndexedInts getRow()
                 {
                   SingleIndexedInt row = new SingleIndexedInt();
-                  if (selector.getIndex() % 3 == 2) {
-                    row.setValue(1);
-                  } else {
-                    row.setValue(0);
-                  }
+                  row.setValue(0);
                   return row;
                 }
 
@@ -216,174 +387,43 @@ public class FilteredAggregatorTest
     };
   }
 
-  private void assertValues(FilteredAggregator agg, TestFloatColumnSelector 
selector, double... expectedVals)
-  {
-    Assert.assertEquals(NullHandling.defaultDoubleValue(), agg.get());
-    Assert.assertEquals(NullHandling.defaultDoubleValue(), agg.get());
-    Assert.assertEquals(NullHandling.defaultDoubleValue(), agg.get());
-    for (double expectedVal : expectedVals) {
-      aggregate(selector, agg);
-      Assert.assertEquals(expectedVal, agg.get());
-      Assert.assertEquals(expectedVal, agg.get());
-      Assert.assertEquals(expectedVal, agg.get());
-    }
-  }
-
-  @Test
-  public void testAggregateWithNotFilter()
-  {
-    final float[] values = {0.15f, 0.27f};
-    final TestFloatColumnSelector selector = new 
TestFloatColumnSelector(values);
-
-    FilteredAggregatorFactory factory = new FilteredAggregatorFactory(
-        new DoubleSumAggregatorFactory("billy", "value"),
-        new NotDimFilter(new SelectorDimFilter("dim", "b", null))
-    );
-
-    validateFilteredAggs(factory, values, selector);
-  }
-
-  @Test
-  public void testAggregateWithOrFilter()
-  {
-    final float[] values = {0.15f, 0.27f, 0.14f};
-    final TestFloatColumnSelector selector = new 
TestFloatColumnSelector(values);
-
-    FilteredAggregatorFactory factory = new FilteredAggregatorFactory(
-        new DoubleSumAggregatorFactory("billy", "value"),
-        new OrDimFilter(Lists.newArrayList(new SelectorDimFilter("dim", "a", 
null), new SelectorDimFilter("dim", "b", null)))
-    );
-
-    FilteredAggregator agg = (FilteredAggregator) factory.factorize(
-        makeColumnSelector(selector)
-    );
-
-    double expectedFirst = new Float(values[0]).doubleValue();
-    double expectedSecond = new Float(values[1]).doubleValue() + expectedFirst;
-    double expectedThird = expectedSecond + new Float(values[2]).doubleValue();
-    assertValues(agg, selector, expectedFirst, expectedSecond, expectedThird);
-  }
-
-  @Test
-  public void testAggregateWithAndFilter()
-  {
-    final float[] values = {0.15f, 0.27f};
-    final TestFloatColumnSelector selector = new 
TestFloatColumnSelector(values);
-
-    FilteredAggregatorFactory factory = new FilteredAggregatorFactory(
-        new DoubleSumAggregatorFactory("billy", "value"),
-        new AndDimFilter(Lists.newArrayList(new NotDimFilter(new 
SelectorDimFilter("dim", "b", null)), new SelectorDimFilter("dim", "a", 
null))));
-
-    validateFilteredAggs(factory, values, selector);
-  }
-
-  @Test
-  public void testAggregateWithPredicateFilters()
-  {
-    final float[] values = {0.15f, 0.27f};
-    TestFloatColumnSelector selector;
-    FilteredAggregatorFactory factory;
-
-    factory = new FilteredAggregatorFactory(
-        new DoubleSumAggregatorFactory("billy", "value"),
-        new BoundDimFilter("dim", "a", "a", false, false, true, null, 
StringComparators.ALPHANUMERIC)
-    );
-    selector = new TestFloatColumnSelector(values);
-    validateFilteredAggs(factory, values, selector);
-
-    factory = new FilteredAggregatorFactory(
-        new DoubleSumAggregatorFactory("billy", "value"),
-        new RegexDimFilter("dim", "a", null)
-    );
-    selector = new TestFloatColumnSelector(values);
-    validateFilteredAggs(factory, values, selector);
-
-    factory = new FilteredAggregatorFactory(
-        new DoubleSumAggregatorFactory("billy", "value"),
-        new SearchQueryDimFilter("dim", new ContainsSearchQuerySpec("a", 
true), null)
-    );
-    selector = new TestFloatColumnSelector(values);
-    validateFilteredAggs(factory, values, selector);
-
-    String jsFn = "function(x) { return(x === 'a') }";
-    factory = new FilteredAggregatorFactory(
-        new DoubleSumAggregatorFactory("billy", "value"),
-        new JavaScriptDimFilter("dim", jsFn, null, 
JavaScriptConfig.getEnabledInstance())
-    );
-    selector = new TestFloatColumnSelector(values);
-    validateFilteredAggs(factory, values, selector);
-  }
-
-  @Test
-  public void testAggregateWithExtractionFns()
+  private void aggregate(
+      final TestNullableFloatColumnSelector selector,
+      final FilteredAggregator agg
+  )
   {
-    final float[] values = {0.15f, 0.27f};
-    TestFloatColumnSelector selector;
-    FilteredAggregatorFactory factory;
-
-    String extractionJsFn = "function(str) { return str + 'AARDVARK'; }";
-    ExtractionFn extractionFn = new JavaScriptExtractionFn(extractionJsFn, 
false, JavaScriptConfig.getEnabledInstance());
-
-    factory = new FilteredAggregatorFactory(
-        new DoubleSumAggregatorFactory("billy", "value"),
-        new SelectorDimFilter("dim", "aAARDVARK", extractionFn)
-    );
-    selector = new TestFloatColumnSelector(values);
-    validateFilteredAggs(factory, values, selector);
-
-    factory = new FilteredAggregatorFactory(
-        new DoubleSumAggregatorFactory("billy", "value"),
-        new InDimFilter("dim", Arrays.asList("NOT-aAARDVARK", "FOOBAR", 
"aAARDVARK"), extractionFn)
-    );
-    selector = new TestFloatColumnSelector(values);
-    validateFilteredAggs(factory, values, selector);
-
-    factory = new FilteredAggregatorFactory(
-        new DoubleSumAggregatorFactory("billy", "value"),
-        new BoundDimFilter("dim", "aAARDVARK", "aAARDVARK", false, false, 
true, extractionFn,
-                           StringComparators.ALPHANUMERIC
-        )
-    );
-    selector = new TestFloatColumnSelector(values);
-    validateFilteredAggs(factory, values, selector);
-
-    factory = new FilteredAggregatorFactory(
-        new DoubleSumAggregatorFactory("billy", "value"),
-        new RegexDimFilter("dim", "aAARDVARK", extractionFn)
-    );
-    selector = new TestFloatColumnSelector(values);
-    validateFilteredAggs(factory, values, selector);
-
-    factory = new FilteredAggregatorFactory(
-        new DoubleSumAggregatorFactory("billy", "value"),
-        new SearchQueryDimFilter("dim", new 
ContainsSearchQuerySpec("aAARDVARK", true), extractionFn)
-    );
-    selector = new TestFloatColumnSelector(values);
-    validateFilteredAggs(factory, values, selector);
-
-    String jsFn = "function(x) { return(x === 'aAARDVARK') }";
-    factory = new FilteredAggregatorFactory(
-        new DoubleSumAggregatorFactory("billy", "value"),
-        new JavaScriptDimFilter("dim", jsFn, extractionFn, 
JavaScriptConfig.getEnabledInstance())
-    );
-    selector = new TestFloatColumnSelector(values);
-    validateFilteredAggs(factory, values, selector);
+    agg.aggregate();
+    selector.increment();
   }
 
   private void validateFilteredAggs(
-      FilteredAggregatorFactory factory,
-      float[] values,
-      TestFloatColumnSelector selector
+      final FilteredAggregatorFactory factory,
+      final TestNullableFloatColumnSelector selector,
+      final Float[] expectedValues
   )
   {
     FilteredAggregator agg = (FilteredAggregator) factory.factorize(
         makeColumnSelector(selector)
     );
 
-    double expectedFirst = new Float(values[0]).doubleValue();
-    double expectedSecond = new Float(values[1]).doubleValue() + expectedFirst;
-    double expectedThird = expectedSecond;
+    // Validate state before any aggregation
+    if (NullHandling.sqlCompatible()) {
+      Assert.assertTrue(agg.isNull());
+      Assert.assertNull(agg.get());
+    } else {
+      Assert.assertFalse(agg.isNull());
+      Assert.assertEquals(0.0f, agg.getFloat(), 0.001);
+    }
 
-    assertValues(agg, selector, expectedFirst, expectedSecond, expectedThird);
+    for (Float expectedValue : expectedValues) {
+      aggregate(selector, agg);
+      if (expectedValue == null) {
+        Assert.assertTrue(agg.isNull());
+        Assert.assertNull(agg.get());
+      } else {
+        Assert.assertFalse(agg.isNull());
+        Assert.assertEquals(expectedValue, agg.getFloat(), 0.001);
+      }
+    }
   }
 }
diff --git 
a/processing/src/test/java/org/apache/druid/segment/TestNullableDoubleColumnSelector.java
 
b/processing/src/test/java/org/apache/druid/segment/TestNullableDoubleColumnSelector.java
index 609ce1e01d..3953070127 100644
--- 
a/processing/src/test/java/org/apache/druid/segment/TestNullableDoubleColumnSelector.java
+++ 
b/processing/src/test/java/org/apache/druid/segment/TestNullableDoubleColumnSelector.java
@@ -25,10 +25,6 @@ public class TestNullableDoubleColumnSelector extends 
TestDoubleColumnSelector
 {
   private final Double[] doubles;
 
-  static {
-    NullHandling.initializeForTests();
-  }
-
   private int index = 0;
 
   public TestNullableDoubleColumnSelector(Double[] doubles)
diff --git 
a/processing/src/test/java/org/apache/druid/segment/TestNullableFloatColumnSelector.java
 
b/processing/src/test/java/org/apache/druid/segment/TestNullableFloatColumnSelector.java
index 19b49610de..a96b31cb92 100644
--- 
a/processing/src/test/java/org/apache/druid/segment/TestNullableFloatColumnSelector.java
+++ 
b/processing/src/test/java/org/apache/druid/segment/TestNullableFloatColumnSelector.java
@@ -26,10 +26,6 @@ public class TestNullableFloatColumnSelector extends 
TestFloatColumnSelector
 
   private final Float[] floats;
 
-  static {
-    NullHandling.initializeForTests();
-  }
-
   private int index = 0;
 
   public TestNullableFloatColumnSelector(Float[] floats)
diff --git 
a/processing/src/test/java/org/apache/druid/segment/TestNullableLongColumnSelector.java
 
b/processing/src/test/java/org/apache/druid/segment/TestNullableLongColumnSelector.java
index 5e27e995c7..a30b6c9e35 100644
--- 
a/processing/src/test/java/org/apache/druid/segment/TestNullableLongColumnSelector.java
+++ 
b/processing/src/test/java/org/apache/druid/segment/TestNullableLongColumnSelector.java
@@ -25,10 +25,6 @@ public class TestNullableLongColumnSelector extends 
TestLongColumnSelector
 {
   private final Long[] longs;
 
-  static {
-    NullHandling.initializeForTests();
-  }
-
   private int index = 0;
 
   public TestNullableLongColumnSelector(Long[] longs)
diff --git 
a/processing/src/test/java/org/apache/druid/segment/WrappingDimensionSelectorTest.java
 
b/processing/src/test/java/org/apache/druid/segment/WrappingDimensionSelectorTest.java
index b208b96f81..8ba3425807 100644
--- 
a/processing/src/test/java/org/apache/druid/segment/WrappingDimensionSelectorTest.java
+++ 
b/processing/src/test/java/org/apache/druid/segment/WrappingDimensionSelectorTest.java
@@ -20,10 +20,11 @@
 package org.apache.druid.segment;
 
 import org.apache.druid.common.config.NullHandling;
+import org.apache.druid.testing.InitializedNullHandlingTest;
 import org.junit.Assert;
 import org.junit.Test;
 
-public class WrappingDimensionSelectorTest
+public class WrappingDimensionSelectorTest extends InitializedNullHandlingTest
 {
   @Test
   public void testLongWrappingDimensionSelector()


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

Reply via email to