Skip to content

Commit 442fb22

Browse files
author
Hendrik Muhs
committed
adapt tests to avoid duplicates for percentiles
1 parent 8e18e66 commit 442fb22

File tree

2 files changed

+18
-14
lines changed

2 files changed

+18
-14
lines changed

server/src/test/java/org/elasticsearch/search/aggregations/metrics/HDRPercentilesIT.java

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,19 +26,21 @@
2626
import org.elasticsearch.script.Script;
2727
import org.elasticsearch.script.ScriptType;
2828
import org.elasticsearch.search.aggregations.AggregationTestScriptsPlugin;
29+
import org.elasticsearch.search.aggregations.BucketOrder;
2930
import org.elasticsearch.search.aggregations.InternalAggregation;
3031
import org.elasticsearch.search.aggregations.bucket.filter.Filter;
3132
import org.elasticsearch.search.aggregations.bucket.global.Global;
3233
import org.elasticsearch.search.aggregations.bucket.histogram.Histogram;
3334
import org.elasticsearch.search.aggregations.bucket.terms.Terms;
34-
import org.elasticsearch.search.aggregations.BucketOrder;
3535

3636
import java.util.Arrays;
3737
import java.util.Collection;
3838
import java.util.Collections;
3939
import java.util.HashMap;
40+
import java.util.HashSet;
4041
import java.util.List;
4142
import java.util.Map;
43+
import java.util.Set;
4244

4345
import static java.util.Collections.emptyMap;
4446
import static org.elasticsearch.index.query.QueryBuilders.matchAllQuery;
@@ -67,21 +69,21 @@ protected Collection<Class<? extends Plugin>> nodePlugins() {
6769

6870
private static double[] randomPercentiles() {
6971
final int length = randomIntBetween(1, 20);
70-
final double[] percentiles = new double[length];
71-
for (int i = 0; i < percentiles.length; ++i) {
72+
final Set<Double> uniquedPercentiles = new HashSet<>();
73+
for (int i = 0; i < length; ++i) {
7274
switch (randomInt(20)) {
7375
case 0:
74-
percentiles[i] = 0;
76+
uniquedPercentiles.add(0.0);
7577
break;
7678
case 1:
77-
percentiles[i] = 100;
79+
uniquedPercentiles.add(100.0);
7880
break;
7981
default:
80-
percentiles[i] = randomDouble() * 100;
82+
uniquedPercentiles.add(randomDouble() * 100);
8183
break;
8284
}
8385
}
84-
Arrays.sort(percentiles);
86+
double[] percentiles= uniquedPercentiles.stream().mapToDouble(Double::doubleValue).sorted().toArray();
8587
LogManager.getLogger(HDRPercentilesIT.class).info("Using percentiles={}", Arrays.toString(percentiles));
8688
return percentiles;
8789
}

server/src/test/java/org/elasticsearch/search/aggregations/metrics/TDigestPercentilesIT.java

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,19 +26,21 @@
2626
import org.elasticsearch.script.Script;
2727
import org.elasticsearch.script.ScriptType;
2828
import org.elasticsearch.search.aggregations.AggregationTestScriptsPlugin;
29+
import org.elasticsearch.search.aggregations.BucketOrder;
2930
import org.elasticsearch.search.aggregations.InternalAggregation;
3031
import org.elasticsearch.search.aggregations.bucket.filter.Filter;
3132
import org.elasticsearch.search.aggregations.bucket.global.Global;
3233
import org.elasticsearch.search.aggregations.bucket.histogram.Histogram;
3334
import org.elasticsearch.search.aggregations.bucket.terms.Terms;
34-
import org.elasticsearch.search.aggregations.BucketOrder;
3535

3636
import java.util.Arrays;
3737
import java.util.Collection;
3838
import java.util.Collections;
3939
import java.util.HashMap;
40+
import java.util.HashSet;
4041
import java.util.List;
4142
import java.util.Map;
43+
import java.util.Set;
4244

4345
import static java.util.Collections.emptyMap;
4446
import static org.elasticsearch.index.query.QueryBuilders.matchAllQuery;
@@ -66,21 +68,21 @@ protected Collection<Class<? extends Plugin>> nodePlugins() {
6668

6769
private static double[] randomPercentiles() {
6870
final int length = randomIntBetween(1, 20);
69-
final double[] percentiles = new double[length];
70-
for (int i = 0; i < percentiles.length; ++i) {
71+
final Set<Double> uniquedPercentiles = new HashSet<>();
72+
for (int i = 0; i < length; ++i) {
7173
switch (randomInt(20)) {
7274
case 0:
73-
percentiles[i] = 0;
75+
uniquedPercentiles.add(0.0);
7476
break;
7577
case 1:
76-
percentiles[i] = 100;
78+
uniquedPercentiles.add(100.0);
7779
break;
7880
default:
79-
percentiles[i] = randomDouble() * 100;
81+
uniquedPercentiles.add(randomDouble() * 100);
8082
break;
8183
}
8284
}
83-
Arrays.sort(percentiles);
85+
double[] percentiles= uniquedPercentiles.stream().mapToDouble(Double::doubleValue).sorted().toArray();
8486
LogManager.getLogger(TDigestPercentilesIT.class).info("Using percentiles={}", Arrays.toString(percentiles));
8587
return percentiles;
8688
}

0 commit comments

Comments
 (0)