コード例 #1
0
        public void ConstructorAllowsNullSize()
        {
            var facet = new TermsFacet(ExpectedName, expectedFilter, null, expectedFields);

            Assert.Same(ExpectedName, facet.Name);
            Assert.Null(facet.Size);
        }
コード例 #2
0
        public void ConstructorSetsAllProperties()
        {
            var facet = new TermsFacet(ExpectedName, expectedFilter, expectedSize, expectedFields);

            Assert.Same(ExpectedName, facet.Name);
            Assert.Same(expectedFilter, facet.Filter);
            Assert.Equal(expectedSize, facet.Size);
            Assert.Equal(expectedFields.Length, facet.Fields.Count);
        }
コード例 #3
0
        public void BodyContainsTermsFacetWithNoSizeWhenNotSpecified()
        {
            var expectedFacet = new TermsFacet("Totals", null, "OrderTotal");
            var searchRequest = new SearchRequest { Facets = new List<IFacet>(new[] { expectedFacet }) };

            var formatter = new SearchRequestFormatter(defaultConnection, mapping, searchRequest);
            var body = JObject.Parse(formatter.Body);

            var result = body.TraverseWithAssert("facets", expectedFacet.Name, expectedFacet.Type);

            Assert.False(result.Contains("size"));
        }
コード例 #4
0
        public void BodyContainsTermsFacet()
        {
            const int expectedSize = 1234;
            var expectedFacet = new TermsFacet("Totals", expectedSize, "OrderTotal", "OrderCost");
            var searchRequest = new SearchRequest { Facets = new List<IFacet>(new[] { expectedFacet }) };

            var formatter = new SearchRequestFormatter(defaultConnection, mapping, searchRequest);
            var body = JObject.Parse(formatter.Body);

            var result = body.TraverseWithAssert("facets", expectedFacet.Name, expectedFacet.Type);

            Assert.Equal(expectedSize.ToString(CultureInfo.InvariantCulture), result.TraverseWithAssert("size").ToString());

            var actualFields = result.TraverseWithAssert("fields").ToArray();
            foreach (var expectedField in expectedFacet.Fields)
                Assert.Contains(expectedField, actualFields);
        }
コード例 #5
0
 static JToken Build(TermsFacet termsFacet)
 {
     return new JObject(BuildFieldProperty(termsFacet.Fields));
 }
コード例 #6
0
        public void TypePropertyIsAlwaysTerms()
        {
            var facet = new TermsFacet(ExpectedName, 10, expectedFields);

            Assert.Equal("terms", facet.Type);
        }
コード例 #7
0
        public void BodyContainsTermsFacetWithDefaultSizeFromConnection()
        {
            const int expectedSize = 678;
            var sizedConnection = new ElasticConnection(defaultConnection.Endpoint, options:new ElasticConnectionOptions { SearchSizeDefault = expectedSize });
            var expectedFacet = new TermsFacet("Totals", null, "OrderTotal", "OrderCost");
            var searchRequest = new SearchRequest { Facets = new List<IFacet>(new[] { expectedFacet }) };

            var formatter = new SearchRequestFormatter(sizedConnection, mapping, searchRequest);
            var body = JObject.Parse(formatter.Body);

            var result = body.TraverseWithAssert("facets", expectedFacet.Name, expectedFacet.Type);

            Assert.Equal(expectedSize.ToString(CultureInfo.InvariantCulture), result.TraverseWithAssert("size").ToString());
        }