Skip to content

Commit 5741005

Browse files
authored
[Tests] Harden InternalExtendedStatsTests (#24934)
The order in which double values are added in Java can give different results, so in testing the sum and sumOfSquares we need to allow some delta for testing equality. The difference can be larger for large sum values, so we should account for this by making the delta in the assertion depend on the values magnitude. Closes #24931
1 parent 2551686 commit 5741005

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

core/src/test/java/org/elasticsearch/search/aggregations/metrics/InternalExtendedStatsTests.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,10 +79,13 @@ protected void assertReduced(InternalExtendedStats reduced, List<InternalExtende
7979
}
8080
assertEquals(sigma, reduced.getSigma(), 0);
8181
assertEquals(expectedCount, reduced.getCount());
82-
assertEquals(expectedSum, reduced.getSum(), 1e-07);
82+
// The order in which you add double values in java can give different results. The difference can
83+
// be larger for large sum values, so we make the delta in the assertion depend on the values magnitude
84+
assertEquals(expectedSum, reduced.getSum(), Math.abs(expectedSum) * 1e-12);
8385
assertEquals(expectedMin, reduced.getMin(), 0d);
8486
assertEquals(expectedMax, reduced.getMax(), 0d);
85-
assertEquals(expectedSumOfSquare, reduced.getSumOfSquares(), 1e-07);
87+
// summing squared values, see reason for delta above
88+
assertEquals(expectedSumOfSquare, reduced.getSumOfSquares(), expectedSumOfSquare * 1e-14);
8689
}
8790

8891
@Override

0 commit comments

Comments
 (0)