summaryrefslogtreecommitdiff
path: root/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range
diff options
context:
space:
mode:
authorJim Ferenczi <jim.ferenczi@elastic.co>2017-02-20 11:55:48 +0100
committerGitHub <noreply@github.com>2017-02-20 11:55:48 +0100
commit69b1463f7cfe3d4e2b9d76fa7b2bf6d3230fb7fd (patch)
tree96477174b662a52c791a7f24cde461146be4b1b9 /core/src/main/java/org/elasticsearch/search/aggregations/bucket/range
parent872412f6451b965dc57ecff2a95a3d02bd558634 (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')
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/BinaryRangeAggregator.java18
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/InternalBinaryRange.java36
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);
+ }
+}