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

            Assert.Same(ExpectedName, facet.Name);
            Assert.Null(facet.Size);
        }
Beispiel #2
0
        private FacetGroupOption GetFacet(TermsFacet termsFacet, FacetGroupOption facetGroupOption, string facetGroup)
        {
            if (!termsFacet.Any(f => f != null && f.Count > 0))
            {
                return(null);
            }

            var termFacetGroup = new FacetGroupOption
            {
                GroupFieldName = facetGroup,
                GroupName      = facetGroup,
                Facets         = new List <FacetOption>()
            };

            foreach (TermCount term in termsFacet)
            {
                if (term.Count > 0)
                {
                    termFacetGroup.Facets.Add(new FacetOption
                    {
                        Name     = term.Term,
                        Selected = facetGroupOption != null && facetGroupOption.Facets.Any(fo => fo.Selected && fo.Key.Equals(term.Term)),
                        Count    = term.Count,
                        Key      = term.Term
                    });
                }
            }
            return(termFacetGroup);
        }
 public void PASS_Create()
 {
     TermsFacet facet = new TermsFacet("term-facet", new List<string>(){"field"});
     Assert.IsNotNull(facet);
     Assert.AreEqual("term-facet", facet.FacetName);
     Assert.AreEqual("field", facet.Fields.First());
 }
Beispiel #4
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);
        }
Beispiel #5
0
        private void AddFacet(List <FacetGroupOption> facetGroups, TermsFacet termsFacet, FacetGroupOption facetGroupOption, string facetGroup)
        {
            var facet = GetFacet(termsFacet, facetGroupOption, facetGroup);

            if (facet != null)
            {
                facetGroups.Add(facet);
            }
        }
        public void PASS_Serialize()
        {
            TermsFacet facet = new TermsFacet("term-facet", new List<string>() { "field" });
            string json = JsonConvert.SerializeObject(facet);
            Assert.IsNotNull(json);

            string expectedJson = "{\"term-facet\":{\"terms\":{\"field\":\"field\"}}}";
            Assert.AreEqual(expectedJson, json);
        }
 public void FAIL_Create_ScriptField()
 {
     try
     {
         TermsFacet facet = new TermsFacet("terms-facet", "");
         Assert.Fail();
     }
     catch (ArgumentNullException ex)
     {
         Assert.AreEqual("scriptField", ex.ParamName);
     }
 }
 public void FAIL_Create_Fields()
 {
     try
     {
         TermsFacet facet = new TermsFacet("terms-facet", new List<string>());
         Assert.Fail();
     }
     catch (ArgumentNullException ex)
     {
         Assert.AreEqual("fields", ex.ParamName);
     }
 }
 public void FAIL_Create_FacetName()
 {
     try
     {
         TermsFacet facet = new TermsFacet(null, "");
         Assert.Fail();
     }
     catch (ArgumentNullException ex)
     {
         Assert.AreEqual("facetName", ex.ParamName);
     }
 }
Beispiel #10
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"));
        }
Beispiel #11
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());
        }
Beispiel #12
0
        public override void PopulateFacet(Facet facet)
        {
            TermsList.Clear();

            TermsFacet termsFacet = facet as TermsFacet;

            if (termsFacet != null)
            {
                foreach (TermCount termCount in termsFacet.Terms)
                {
                    TermsList.Add(new MultiSelectTermCount()
                    {
                        Count    = termCount.Count,
                        Term     = termCount.Term,
                        Selected = SelectedTerms.Contains(termCount.Term)
                    });
                }
            }
        }
Beispiel #13
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);
            }
        }
 protected JToken Build(TermsFacet facet)
 {
     return(new JObject(BuildFieldProperty(facet.Fields)));
 }
Beispiel #15
0
        public void TypePropertyIsAlwaysTerms()
        {
            var facet = new TermsFacet(ExpectedName, 10, expectedFields);

            Assert.Equal("terms", facet.Type);
        }
Beispiel #16
0
 private static JToken Build(TermsFacet termsFacet)
 {
     return(new JObject(BuildFieldProperty(termsFacet.Fields)));
 }