Exemplo n.º 1
0
        public void EqualsIgnoreCase()
        {
            var searchQueryBuilder = new SearchQueryBuilder <TestModel>()
                                     .AddComparer(x => x.Name, CompareOp.Equals, "Name");

            Console.WriteLine(searchQueryBuilder.Builder);
            Console.WriteLine(JsonConvert.SerializeObject(searchQueryBuilder.ToSearchQuery()));

            SearchQuery searchQuery = searchQueryBuilder.ToSearchQuery();

            IEnumerable <TestModel> testData = GetTestData();
            Expression <Func <TestModel, bool> > expression = SearchExpressionBuilder.CreateSearchExpression <TestModel>(searchQuery, SearchIntent.InMemory);
            var result = testData.Where(expression.Compile());

            AssertResultSet(result, 3, 4);
        }
Exemplo n.º 2
0
        public void String_Match_starts_and_ends_with_wildcard()
        {
            var searchQueryBuilder = new SearchQueryBuilder <TestModel>()
                                     .AddComparer(x => x.Name, CompareOp.Match, "*o*");

            Console.WriteLine(searchQueryBuilder.Builder);
            Console.WriteLine(JsonConvert.SerializeObject(searchQueryBuilder.ToSearchQuery()));

            SearchQuery searchQuery = searchQueryBuilder.ToSearchQuery();

            IEnumerable <TestModel> testData = GetTestData();
            Expression <Func <TestModel, bool> > expression = SearchExpressionBuilder.CreateSearchExpression <TestModel>(searchQuery, SearchIntent.InMemory);
            var result = testData.Where(expression.Compile());

            AssertResultSet(result, 2, 5, 6);
        }
Exemplo n.º 3
0
        public void Nullable_Number_is_not_null()
        {
            var searchQueryBuilder = new SearchQueryBuilder <TestModel>(LogicalOp.And)
                                     .AddComparer(x => x.NullableNumber, CompareOp.NotEquals, null);

            Console.WriteLine(searchQueryBuilder.Builder);
            Console.WriteLine(JsonConvert.SerializeObject(searchQueryBuilder.ToSearchQuery()));

            SearchQuery searchQuery = searchQueryBuilder.ToSearchQuery();

            IEnumerable <TestModel> testData = GetTestData();
            Expression <Func <TestModel, bool> > expression = SearchExpressionBuilder.CreateSearchExpression <TestModel>(searchQuery, SearchIntent.InMemory);
            var result = testData.Where(expression.Compile());

            AssertResultSet(result, 1, 3, 5);
        }
Exemplo n.º 4
0
        public void Nullable_DateTime_interval()
        {
            var searchQueryBuilder = new SearchQueryBuilder <TestModel>(LogicalOp.And)
                                     .AddComparer(x => x.NullableTimestamp, CompareOp.GreaterThan, CreateDateTime(2001, 1, 1));

            Console.WriteLine(searchQueryBuilder.Builder);
            Console.WriteLine(JsonConvert.SerializeObject(searchQueryBuilder.ToSearchQuery()));

            SearchQuery searchQuery = searchQueryBuilder.ToSearchQuery();

            IEnumerable <TestModel> testData = GetTestData();
            Expression <Func <TestModel, bool> > expression = SearchExpressionBuilder.CreateSearchExpression <TestModel>(searchQuery, SearchIntent.InMemory);
            var result = testData.Where(expression.Compile());

            AssertResultSet(result, 1, 4);
        }
Exemplo n.º 5
0
        public void String_Contains()
        {
            var searchQueryBuilder = new SearchQueryBuilder <TestModel>()
                                     .AddComparer(x => x.Name, CompareOp.Contains, "o");

            Console.WriteLine(searchQueryBuilder.Builder);
            Console.WriteLine(JsonConvert.SerializeObject(searchQueryBuilder.ToSearchQuery()));

            SearchQuery searchQuery = searchQueryBuilder.ToSearchQuery();

            IEnumerable <TestModel> testData = GetTestData();
            Expression <Func <TestModel, bool> > expression = SearchExpressionBuilder.CreateSearchExpression <TestModel>(searchQuery, SearchIntent.InMemory);
            var result = testData.Where(expression.Compile());

            Assert.AreEqual(3, result.Count());
        }
Exemplo n.º 6
0
        public void SimpleSearch()
        {
            var searchQueryBuilder = new SearchQueryBuilder <TestModel>(LogicalOp.Or)
                                     .AddComparer(x => x.Name, CompareOp.Equals, "Name")
                                     .AddComparer(x => x.Name, CompareOp.Equals, "name")
                                     .AddComparerGroup(LogicalOp.None)
                                     .AddComparer(x => x.Number, CompareOp.GreaterThan, 2);

            Console.WriteLine(searchQueryBuilder.Builder);
            Console.WriteLine(JsonConvert.SerializeObject(searchQueryBuilder.ToSearchQuery()));

            SearchQuery searchQuery = searchQueryBuilder.ToSearchQuery();

            IEnumerable <TestModel> testData = GetTestData();
            Expression <Func <TestModel, bool> > expression = SearchExpressionBuilder.CreateSearchExpression <TestModel>(searchQuery, SearchIntent.InMemory);
            var result = testData.Where(expression.Compile());

            AssertResultSet(result, 3, 4, 5, 6, 7);
        }