use of org.opensearch.client.opensearch._types.aggregations.ValueCountAggregation in project opensearch-java by opensearch-project.
the class ClassStructureTest method testMapSetters.
@Test
public void testMapSetters() {
ValueCountAggregation countA = ValueCountAggregation.of(v -> v.field("a"));
ValueCountAggregation countB = ValueCountAggregation.of(v -> v.field("b"));
ValueCountAggregation countC = ValueCountAggregation.of(v -> v.field("c"));
Map<String, Aggregation> aggs = new HashMap<>();
aggs.put("aggA", countA._toAggregation());
aggs.put("aggB", countB._toAggregation());
{
// Appending doesn't modify the original collection
SearchRequest search = SearchRequest.of(b -> b.aggregations(aggs).aggregations("aggC", countC._toAggregation()).aggregations("aggD", a -> a.valueCount(c -> c.field("d"))));
// Original map wasn't modified
assertEquals(2, aggs.size());
assertEquals(4, search.aggregations().size());
assertEquals("a", search.aggregations().get("aggA").valueCount().field());
assertEquals("b", search.aggregations().get("aggB").valueCount().field());
assertEquals("c", search.aggregations().get("aggC").valueCount().field());
assertEquals("d", search.aggregations().get("aggD").valueCount().field());
}
{
// Map cannot be null
assertThrows(NullPointerException.class, () -> {
Map<String, Aggregation> nullMap = null;
SearchRequest.of(b -> b.aggregations(nullMap));
});
}
}
Aggregations