public void MissingParametersAreMissingInThePayload() { var parameters = new SearchParameters(); // Search text can never be null. SearchParametersPayload payload = parameters.ToPayload("*"); Assert.True(payload.Count.HasValue); Assert.False(payload.Count.Value); // IncludeTotalCount is non-nullable in the client contract. Assert.NotNull(payload.Facets); Assert.False(payload.Facets.Any()); Assert.Null(payload.Filter); Assert.Null(payload.Highlight); Assert.Null(payload.HighlightPostTag); Assert.Null(payload.HighlightPreTag); Assert.Null(payload.MinimumCoverage); Assert.Null(payload.OrderBy); Assert.NotNull(payload.ScoringParameters); Assert.False(payload.ScoringParameters.Any()); Assert.Null(payload.ScoringProfile); Assert.Equal("*", payload.Search); Assert.Null(payload.SearchFields); Assert.True(payload.SearchMode.HasValue); Assert.Equal(SearchMode.Any, payload.SearchMode.Value); // SearchMode is non-nullable in the client contract. Assert.Null(payload.Select); Assert.Null(payload.Skip); Assert.Null(payload.Top); }
public void CanConvertToPostPayload() { var parameters = new SearchParameters() { Facets = new[] { "abc", "efg" }, Filter = "x eq y", HighlightFields = new[] { "a", "b" }, HighlightPostTag = "</em>", HighlightPreTag = "<em>", IncludeTotalResultCount = true, MinimumCoverage = 33.3, OrderBy = new[] { "a", "b desc" }, ScoringParameters = new[] { "a:b", "c:d" }, ScoringProfile = "xyz", SearchFields = new[] { "a", "b", "c" }, SearchMode = SearchMode.All, Select = new[] { "e", "f", "g" }, Skip = 10, Top = 5 }; SearchParametersPayload payload = parameters.ToPayload("find me"); Assert.True(parameters.Facets.SequenceEqual(payload.Facets)); Assert.Equal(parameters.Filter, payload.Filter); Assert.Equal(parameters.HighlightFields.ToCommaSeparatedString(), payload.Highlight); Assert.Equal(parameters.HighlightPostTag, payload.HighlightPostTag); Assert.Equal(parameters.HighlightPreTag, payload.HighlightPreTag); Assert.Equal(parameters.IncludeTotalResultCount, payload.Count); Assert.Equal(parameters.MinimumCoverage, payload.MinimumCoverage); Assert.Equal(parameters.OrderBy.ToCommaSeparatedString(), payload.OrderBy); Assert.True(parameters.ScoringParameters.SequenceEqual(payload.ScoringParameters)); Assert.Equal(parameters.ScoringProfile, payload.ScoringProfile); Assert.Equal("find me", payload.Search); Assert.Equal(parameters.SearchFields.ToCommaSeparatedString(), payload.SearchFields); Assert.Equal(parameters.SearchMode, payload.SearchMode); Assert.Equal(parameters.Select.ToCommaSeparatedString(), payload.Select); Assert.Equal(parameters.Skip, payload.Skip); Assert.Equal(parameters.Top, payload.Top); }