public void BuildAzureSearchParameters_Test01() { List <Filter> filters; SearchParameters sp; sp = Providers.BuildAzureSearchParameters(10, 20, "cancer", new List <Filter>(), true, true); Assert.AreEqual(7, sp.Facets.Count); Assert.AreEqual(null, sp.Filter); Assert.AreEqual(true, sp.IncludeTotalResultCount); Assert.AreEqual(2, sp.OrderBy.Count); Assert.AreEqual(QueryType.Simple, sp.QueryType); Assert.AreEqual(6, sp.SearchFields.Count); Assert.AreEqual(SearchMode.All, sp.SearchMode); Assert.AreEqual(2, sp.Select.Count); Assert.AreEqual(10, sp.Skip); Assert.AreEqual(20, sp.Top); filters = new List <Filter>(); filters.Add(new Filter { AzureIndexFieldName = "conditions", Values = new List <string>() { "cancer" } }); filters.Add(new Filter { AzureIndexFieldName = "isMale", Values = new List <string>() { "true" } }); filters.Add(new Filter { AzureIndexFieldName = "languages", Values = new List <string>() { "English", "Spanish" } }); sp = Providers.BuildAzureSearchParameters(10, 20, "cancer", filters, true, true); Assert.AreEqual(7, sp.Facets.Count); Assert.AreEqual("(conditions/any(i: i eq 'cancer')) and (isMale eq true) and (languages/any(i: i eq 'English')) and (languages/any(i: i eq 'Spanish'))", sp.Filter); Assert.AreEqual(true, sp.IncludeTotalResultCount); Assert.AreEqual(2, sp.OrderBy.Count); Assert.AreEqual(QueryType.Full, sp.QueryType); Assert.AreEqual(6, sp.SearchFields.Count); Assert.AreEqual(SearchMode.All, sp.SearchMode); Assert.AreEqual(2, sp.Select.Count); Assert.AreEqual(10, sp.Skip); Assert.AreEqual(20, sp.Top); filters.Add(new Filter { AzureIndexFieldName = "isPrimaryCare", Values = new List <string>() { "true" } }); sp = Providers.BuildAzureSearchParameters(10, 20, "cancer", filters, true, true); Assert.AreEqual(7, sp.Facets.Count); Assert.AreEqual("(conditions/any(i: i eq 'cancer')) and (isMale eq true) and (languages/any(i: i eq 'English')) and (languages/any(i: i eq 'Spanish')) and (isPrimaryCare eq true)", sp.Filter); Assert.AreEqual(true, sp.IncludeTotalResultCount); Assert.AreEqual(2, sp.OrderBy.Count); Assert.AreEqual(QueryType.Full, sp.QueryType); Assert.AreEqual(6, sp.SearchFields.Count); Assert.AreEqual(SearchMode.All, sp.SearchMode); Assert.AreEqual(2, sp.Select.Count); Assert.AreEqual(10, sp.Skip); Assert.AreEqual(20, sp.Top); sp = Providers.BuildAzureSearchParameters(10, 20, "cancer", filters, false, true); Assert.AreEqual(null, sp.Facets); Assert.AreEqual("(conditions/any(i: i eq 'cancer')) and (isMale eq true) and (languages/any(i: i eq 'English')) and (languages/any(i: i eq 'Spanish')) and (isPrimaryCare eq true)", sp.Filter); Assert.AreEqual(true, sp.IncludeTotalResultCount); Assert.AreEqual(2, sp.OrderBy.Count); Assert.AreEqual(QueryType.Full, sp.QueryType); Assert.AreEqual(6, sp.SearchFields.Count); Assert.AreEqual(SearchMode.All, sp.SearchMode); Assert.AreEqual(2, sp.Select.Count); Assert.AreEqual(10, sp.Skip); Assert.AreEqual(20, sp.Top); sp = Providers.BuildAzureSearchParameters(10, 20, "cancer", filters, false, false); Assert.AreEqual(null, sp.Facets); Assert.AreEqual("(conditions/any(i: i eq 'cancer')) and (isMale eq true) and (languages/any(i: i eq 'English')) and (languages/any(i: i eq 'Spanish')) and (isPrimaryCare eq true)", sp.Filter); Assert.AreEqual(false, sp.IncludeTotalResultCount); Assert.AreEqual(2, sp.OrderBy.Count); Assert.AreEqual(QueryType.Full, sp.QueryType); Assert.AreEqual(6, sp.SearchFields.Count); Assert.AreEqual(SearchMode.All, sp.SearchMode); Assert.AreEqual(2, sp.Select.Count); Assert.AreEqual(10, sp.Skip); Assert.AreEqual(20, sp.Top); }