diff options
author | Jim Ferenczi <jim.ferenczi@elastic.co> | 2017-02-20 11:55:48 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-02-20 11:55:48 +0100 |
commit | 69b1463f7cfe3d4e2b9d76fa7b2bf6d3230fb7fd (patch) | |
tree | 96477174b662a52c791a7f24cde461146be4b1b9 /core/src/main/java/org/elasticsearch/search/aggregations/bucket/range | |
parent | 872412f6451b965dc57ecff2a95a3d02bd558634 (diff) |
Add unit tests for BinaryRangeAggregator/InternalBinaryRange (#23255)
* Add unit tests for BinaryRangeAggregator/InternalBinaryRange
Relates #22278
Diffstat (limited to 'core/src/main/java/org/elasticsearch/search/aggregations/bucket/range')
2 files changed, 44 insertions, 10 deletions
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/BinaryRangeAggregator.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/BinaryRangeAggregator.java index 7ec3b3bb9c..873eef2f71 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/BinaryRangeAggregator.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/BinaryRangeAggregator.java @@ -18,15 +18,6 @@ */ package org.elasticsearch.search.aggregations.bucket.range; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Comparator; -import java.util.List; -import java.util.Map; - -import static java.util.Collections.emptyList; - import org.apache.lucene.index.LeafReaderContext; import org.apache.lucene.index.SortedSetDocValues; import org.apache.lucene.util.BytesRef; @@ -42,6 +33,15 @@ import org.elasticsearch.search.aggregations.pipeline.PipelineAggregator; import org.elasticsearch.search.aggregations.support.ValuesSource; import org.elasticsearch.search.internal.SearchContext; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Comparator; +import java.util.List; +import java.util.Map; + +import static java.util.Collections.emptyList; + /** A range aggregator for values that are stored in SORTED_SET doc values. */ public final class BinaryRangeAggregator extends BucketsAggregator { diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/InternalBinaryRange.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/InternalBinaryRange.java index ed46062ee0..bb31d9a248 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/InternalBinaryRange.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/InternalBinaryRange.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.elasticsearch.search.aggregations.bucket.range; import org.apache.lucene.util.BytesRef; @@ -35,6 +36,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; +import java.util.Objects; import static java.util.Collections.unmodifiableList; @@ -166,6 +168,25 @@ public final class InternalBinaryRange return to == null ? null : format.format(to); } + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + Bucket bucket = (Bucket) o; + + if (docCount != bucket.docCount) return false; + // keyed and format are ignored since they are already tested on the InternalBinaryRange object + return Objects.equals(key, bucket.key) && + Objects.equals(from, bucket.from) && + Objects.equals(to, bucket.to) && + Objects.equals(aggregations, bucket.aggregations); + } + + @Override + public int hashCode() { + return Objects.hash(getClass(), docCount, key, from, to, aggregations); + } } private final DocValueFormat format; @@ -263,4 +284,17 @@ public final class InternalBinaryRange } return builder; } -}
\ No newline at end of file + + @Override + public boolean doEquals(Object obj) { + InternalBinaryRange that = (InternalBinaryRange) obj; + return Objects.equals(buckets, that.buckets) + && Objects.equals(format, that.format) + && Objects.equals(keyed, that.keyed); + } + + @Override + public int doHashCode() { + return Objects.hash(buckets, format, keyed); + } +} |