houserjohn opened a new pull request, #14238:
URL: https://github.com/apache/lucene/pull/14238

   ### Description
   
   Adds additional unit tests to increase coverage of Dynamic Range Faceting.
   - Adds tests for varying TopN values
   - Adds test for inputs with the same weights
   - Adds tests that randomly shuffle the inputs
   - Adds test for a single misplaced value
   - Adds randomized test that is checked based on the properties of the ranges
   
   Performance improvements included in 
[GH#13914](https://github.com/apache/lucene/pull/13914) showed that a few more 
unit tests may be needed to have sufficient coverage. Additionally, a few other 
unit tests were added for completeness. For instance, while `LargeTopN` was 
added because it exposed a previously unfound bug, `SingleTopN` and `TwoTopN` 
were added because we were not testing small TopN values. Here a few of the 
highlighted unit tests that were previously nonexistent with their error 
messages:
   
   `testComputeDynamicNumericRangesWithMisplacedValue` (Notice values marked 
with **)
   
   >```java.lang.AssertionError: expected:<[DynamicRangeInfo[count=8, 
weight=444, min=**1**, max=104, centroid=54.5], DynamicRangeInfo[count=4, 
weight=430, min=105, max=108, centroid=106.5], DynamicRangeInfo[count=4, 
weight=446, min=109, max=112, centroid=110.5], DynamicRangeInfo[count=3, 
weight=345, min=113, max=115, centroid=114.0]]> but 
was:<[DynamicRangeInfo[count=8, weight=444, min=**12**, max=104, 
centroid=54.5], DynamicRangeInfo[count=4, weight=430, min=105, max=108, 
centroid=106.5], DynamicRangeInfo[count=4, weight=446, min=109, max=112, 
centroid=110.5], DynamicRangeInfo[count=3, weight=345, min=113, max=115, 
centroid=114.0]]>``` 
   
   `testComputeDynamicNumericRangesWithLargeTopN`
   >```   
   >     java.lang.IllegalArgumentException: All kWeights must be < 
beforeWeight + rangeWeight
      >         at 
__randomizedtesting.SeedInfo.seed([913AAD1D60B9263B:FFD4EE9EA025DBF]:0)
      >         at 
[email protected]/org.apache.lucene.util.WeightedSelector.checkArgs(WeightedSelector.java:82)
      >         at 
[email protected]/org.apache.lucene.util.WeightedSelector.select(WeightedSelector.java:57)
      >         at 
org.apache.lucene.facet.range.DynamicRangeUtil.computeDynamicNumericRanges(DynamicRangeUtil.java:266)
      >         at 
org.apache.lucene.facet.range.TestDynamicRangeUtil.testComputeDynamicNumericRangesWithLargeTopN(TestDynamicRangeUtil.java:169)
      >         at 
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
   
   
   `testComputeDynamicNumericRangesWithSameWeights` (Notice values marked with 
**)
   
   >```   
   >     java.lang.AssertionError: expected:<[DynamicRangeInfo[count=**25**, 
weight=1250, min=0, max=24, centroid=12.0], DynamicRangeInfo[count=25, 
weight=1250, min=25, max=49, centroid=37.0], DynamicRangeInfo[count=25, 
weight=1250, min=50, max=74, centroid=62.0], DynamicRangeInfo[count=25, 
weight=1250, min=75, max=99, centroid=87.0]]> but 
was:<[DynamicRangeInfo[count=**26**, weight=1300, min=0, max=25, 
centroid=12.5], DynamicRangeInfo[count=25, weight=1250, min=26, max=50, 
centroid=38.0], DynamicRangeInfo[count=25, weight=1250, min=51, max=75, 
centroid=63.0], DynamicRangeInfo[count=24, weight=1200, min=76, max=99, 
centroid=87.5]]>
      >         at 
__randomizedtesting.SeedInfo.seed([DA6EB4C0C0CA4022:DBA0A4538AB03899]:0)
      >         at [email protected]/org.junit.Assert.fail(Assert.java:89)
      >         at [email protected]/org.junit.Assert.failNotEquals(Assert.java:835)
      >         at [email protected]/org.junit.Assert.assertEquals(Assert.java:120)
      >         at [email protected]/org.junit.Assert.assertEquals(Assert.java:146)
      >         at 
org.apache.lucene.facet.range.TestDynamicRangeUtil.compareDynamicRangeResult(TestDynamicRangeUtil.java:361)
      >         at 
org.apache.lucene.facet.range.TestDynamicRangeUtil.assertDynamicNumericRangeResults(TestDynamicRangeUtil.java:351)
      >         at 
org.apache.lucene.facet.range.TestDynamicRangeUtil.testComputeDynamicNumericRangesWithSameWeights(TestDynamicRangeUtil.java:156)
   


-- 
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