Beispiel #1
0
        public void ToStringContainsFieldComparisonAndValue()
        {
            var criteria = new ExistsCriteria("thisIsAMissingField");
            var result   = criteria.ToString();

            Assert.Contains(criteria.Field, result);
        }
Beispiel #2
0
        public void ConstructorSetsCriteria()
        {
            const string field = "myField";

            var criteria = new ExistsCriteria(field);

            Assert.Equal(field, criteria.Field);
        }
Beispiel #3
0
        public void OrWithOrWithTrueOptimizesToTrue()
        {
            var exists1  = new ExistsCriteria("1");
            var exists2  = new ExistsCriteria("2");
            var criteria = OrCriteria.Combine(exists1, OrCriteria.Combine(ConstantCriteria.True, exists2));

            var actual = ConstantCriteriaFilterReducer.Reduce(criteria);

            Assert.Same(ConstantCriteria.True, actual);
        }
Beispiel #4
0
        public void AndWithFalseOptimizesToFalse()
        {
            var exists1  = new ExistsCriteria("1");
            var exists2  = new ExistsCriteria("2");
            var criteria = AndCriteria.Combine(exists1, ConstantCriteria.False, exists2);

            var actual = ConstantCriteriaFilterReducer.Reduce(criteria);

            Assert.Same(ConstantCriteria.False, actual);
        }
Beispiel #5
0
        public void ToStringContainsSubfields()
        {
            var existsCriteria = new ExistsCriteria("thisIsAMissingField");
            var termCriteria   = TermsCriteria.Build("termField", memberInfo, "some value");

            var orCriteria = OrCriteria.Combine(existsCriteria, termCriteria);
            var result     = orCriteria.ToString();

            Assert.Contains(existsCriteria.ToString(), result);
            Assert.Contains(termCriteria.ToString(), result);
        }
Beispiel #6
0
        public void AndWithTrueRemovesTrue()
        {
            var exists1  = new ExistsCriteria("1");
            var exists2  = new ExistsCriteria("2");
            var criteria = AndCriteria.Combine(exists1, ConstantCriteria.True, exists2);

            var actual = ConstantCriteriaFilterReducer.Reduce(criteria);

            var andActual = Assert.IsType <AndCriteria>(actual);

            Assert.DoesNotContain(andActual.Criteria, c => c == ConstantCriteria.True);
            Assert.Single(andActual.Criteria, exists1);
            Assert.Single(andActual.Criteria, exists2);
        }
Beispiel #7
0
        public void OrWithFalseRemovesFalse()
        {
            var exists1  = new ExistsCriteria("1");
            var exists2  = new ExistsCriteria("2");
            var criteria = OrCriteria.Combine(exists1, ConstantCriteria.False, exists2);

            var actual = ConstantCriteriaFilterReducer.Reduce(criteria);

            var orActual = Assert.IsType <OrCriteria>(actual);

            Assert.DoesNotContain(orActual.Criteria, c => c == ConstantCriteria.False);
            Assert.Single(orActual.Criteria, exists1);
            Assert.Single(orActual.Criteria, exists2);
        }
        public void BodyContainsExists()
        {
            const string expectedFieldName = "fieldShouldExist";
            var          existsCriteria    = new ExistsCriteria(expectedFieldName);

            var formatter = new SearchRequestFormatter(defaultConnection, mapping, new SearchRequest {
                IndexType = "type1", Query = existsCriteria
            });
            var body = JObject.Parse(formatter.Body);

            var field = body.TraverseWithAssert("query", "exists", "field");

            Assert.Equal(expectedFieldName, field);
        }
Beispiel #9
0
        public void BodyContainsFilterExists()
        {
            const string expectedFieldName = "fieldShouldExist";
            var          existsCriteria    = new ExistsCriteria(expectedFieldName);

            var formatter = new PostBodyRequestFormatter(defaultConnection, mapping, new ElasticSearchRequest {
                Type = "type1", Filter = existsCriteria
            });
            var body = JObject.Parse(formatter.Body);

            var field = TraverseWithAssert(body, "filter", "exists", "field");

            Assert.Equal(expectedFieldName, field);
        }
Beispiel #10
0
        public void BodyContainsFilterFacet()
        {
            var expectedFilter = new ExistsCriteria("IsLocal");
            var expectedFacet  = new FilterFacet("LocalSales", expectedFilter);
            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, expectedFilter.Name, "field");

            Assert.Equal(expectedFilter.Field, result.ToString());
        }
        public void BodyContainsExistsFieldSingleCollapsedOr()
        {
            const string expectedFieldName = "fieldShouldExist";
            var          existsCriteria    = new ExistsCriteria(expectedFieldName);
            var          orCriteria        = OrCriteria.Combine(existsCriteria);

            var formatter = new SearchRequestFormatter(defaultConnection, mapping, new SearchRequest {
                DocumentType = "type1", Query = orCriteria
            });
            var body = JObject.Parse(formatter.Body);

            var field = body.TraverseWithAssert("query", "exists", "field");

            Assert.Equal(expectedFieldName, field);
        }
Beispiel #12
0
        public void NamePropertyIsExists()
        {
            var criteria = new ExistsCriteria("something");

            Assert.Equal("exists", criteria.Name);
        }