diff options
author | Tanguy Leroux <tlrx.dev@gmail.com> | 2017-05-10 12:22:52 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-10 12:22:52 +0200 |
commit | 2fe53be0db07f799a1c700a2d320da59bb41de0e (patch) | |
tree | 58d674af3c7bdc1d70ae499549379edccd0b217a /core/src/main/java/org/elasticsearch/search/aggregations/bucket/range | |
parent | 0ff5933a55379e32768d5ac2d9dbb7a8fa3a1af1 (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.java | 38 |
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); + } } |