public void CardinalityAggregation_FromHelper()
        {
            var q = new Query <IndexedClass>(true).NestedAggregation(x => x.Children,
                                                                     AggregationsHelper.CardinalityAggregation <IndexedClass>(ic => ic.Children.PropertyName(c => c.SomeNumber)))
                    .SetSize(0);

            var json = q.ToJson();

            Assert.AreEqual(
                "{\"query\":{\"bool\":{}},\"aggs\":{\"nested_Children_0\":{\"nested\":{\"path\":\"Children\"}," +
                "\"aggs\":{\"nested\":{\"cardinality\":{\"field\":\"Children.SomeNumber\"}}}}},\"size\":0}",
                json);
        }
        public void RangeAggregation_Query()
        {
            var q = new Query <IndexedClass>(true)
                    .CardinalityAggregation(ic => ic.ObjectId)
                    .RangeAggregation(ic => ic.SomeNumber,
                                      new[]
            {
                new RangeAggrValue <int> {
                    Key = "123", From = 1, To = 4
                },
                new RangeAggrValue <int> {
                    Key = "4", From = 4, To = 5
                }
            },
                                      AggregationsHelper.CardinalityAggregation <IndexedClass>(ic => ic.ObjectId)
                                      );
            var json = q.ToJson();

            Assert.AreEqual("{\"query\":{\"bool\":{}},\"aggs\":{\"cardinality_ObjectId\":{\"cardinality\":" +
                            "{\"field\":\"ObjectId\"}},\"range_SomeNumber\":{\"range\":{\"ranges\":[{\"key\":" +
                            "\"123\",\"from\":1,\"to\":4},{\"key\":\"4\",\"from\":4,\"to\":5}],\"field\":\"SomeNumber\"}" +
                            ",\"aggs\":{\"Cardinality\":{\"cardinality\":{\"field\":\"ObjectId\"}}}}}}", json);
        }