summaryrefslogtreecommitdiff
path: root/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range
diff options
context:
space:
mode:
authorTanguy Leroux <tlrx.dev@gmail.com>2017-05-10 12:22:52 +0200
committerGitHub <noreply@github.com>2017-05-10 12:22:52 +0200
commit2fe53be0db07f799a1c700a2d320da59bb41de0e (patch)
tree58d674af3c7bdc1d70ae499549379edccd0b217a /core/src/main/java/org/elasticsearch/search/aggregations/bucket/range
parent0ff5933a55379e32768d5ac2d9dbb7a8fa3a1af1 (diff)
[Test] Add unit tests for Range aggregations (#24569)
Related to #22278
Diffstat (limited to 'core/src/main/java/org/elasticsearch/search/aggregations/bucket/range')
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/InternalRange.java38
1 files changed, 36 insertions, 2 deletions
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/InternalRange.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/InternalRange.java
index 3d0cf1b5a8..f5bb0e25c6 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/InternalRange.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/InternalRange.java
@@ -34,6 +34,7 @@ import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
public class InternalRange<B extends InternalRange.Bucket, R extends InternalRange<B, R>> extends InternalMultiBucketAggregation<R, B>
implements Range {
@@ -172,6 +173,27 @@ public class InternalRange<B extends InternalRange.Bucket, R extends InternalRan
@Override
public void writeTo(StreamOutput out) throws IOException {
}
+
+ @Override
+ public boolean equals(Object other) {
+ if (this == other) {
+ return true;
+ }
+ if (other == null || getClass() != other.getClass()) {
+ return false;
+ }
+ Bucket that = (Bucket) other;
+ return Objects.equals(from, that.from)
+ && Objects.equals(to, that.to)
+ && Objects.equals(docCount, that.docCount)
+ && Objects.equals(aggregations, that.aggregations)
+ && Objects.equals(key, that.key);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(getClass(), from, to, docCount, aggregations, key);
+ }
}
public static class Factory<B extends Bucket, R extends InternalRange<B, R>> {
@@ -245,8 +267,8 @@ public class InternalRange<B extends InternalRange.Bucket, R extends InternalRan
out.writeVInt(ranges.size());
for (B bucket : ranges) {
out.writeOptionalString(((Bucket) bucket).key);
- out.writeDouble(((Bucket) bucket).from);
- out.writeDouble(((Bucket) bucket).to);
+ out.writeDouble(bucket.from);
+ out.writeDouble(bucket.to);
out.writeVLong(((Bucket) bucket).docCount);
bucket.aggregations.writeTo(out);
}
@@ -317,4 +339,16 @@ public class InternalRange<B extends InternalRange.Bucket, R extends InternalRan
return builder;
}
+ @Override
+ protected int doHashCode() {
+ return Objects.hash(ranges, format, keyed);
+ }
+
+ @Override
+ protected boolean doEquals(Object obj) {
+ InternalRange<?,?> that = (InternalRange<?,?>) obj;
+ return Objects.equals(ranges, that.ranges)
+ && Objects.equals(format, that.format)
+ && Objects.equals(keyed, that.keyed);
+ }
}