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); }
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); }
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); }
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); }
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()); }
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); }