public void ComplexOrWithList() { var genres = new List <string> { "Sci-Fi", "Fantasy" }; var condition1A = new StringListBooleanCondition("genre", genres, ConditionType.OR); var years = new List <int> { 1987, 1990, 2010 }; var condition1B = new IntListBooleanCondition("year", years, ConditionType.OR); var groupCondition1 = new GroupedCondition(condition1A, ConditionType.AND, condition1B); var condition2 = new StringBooleanCondition("director", "doduck"); var groupConditionAll = new GroupedCondition(groupCondition1, ConditionType.AND, condition2); var bQuery = new BooleanQuery(); bQuery.Conditions.Add(groupConditionAll); _searchQuery = new SearchQuery <Movie> { BooleanQuery = bQuery }; string query = _queryBuilder.BuildSearchQuery(_searchQuery); //query.ShouldNotContain("(and+(and+(and+genre%3A'Sci-Fi'+genre%3A'Fantasy'+year%3A1987+year%3A1990+year%3A2010)+director%3A'doduck'))"); query.ShouldContain("(and+(and+(or+genre%3A'Sci-Fi'+genre%3A'Fantasy')+(or+year%3A1987+year%3A1990+year%3A2010)+director%3A'doduck'))"); }
public void StringListAnd() { var list = new List <string> { "aValue1", "aValue2", "aValue3" }; var stringList = new StringListBooleanCondition("myField", list, ConditionType.AND); var bQuery = new BooleanQuery(); bQuery.Conditions.Add(stringList); _searchQuery = new SearchQuery <Movie> { BooleanQuery = bQuery }; string query = _queryBuilder.BuildSearchQuery(_searchQuery); query.ShouldContain("(and+myField%3A'aValue1'+myField%3A'aValue2'+myField%3A'aValue3')"); }