public void FacetRangeParameter002() { // Arrange var container = new List <string>(); var expressionCache = new ExpressionCache <TestDocument>(); var expressionBuilder = (IExpressionBuilder <TestDocument>) new ExpressionBuilder <TestDocument>(expressionCache); var parameter = new FacetRangeParameter <TestDocument>(expressionBuilder); parameter.Configure("X", q => q.Id, "1", "10", "20", true, true, FacetSortType.CountAsc); // Act parameter.Execute(container); // Assert Assert.Equal(9, container.Count); Assert.Equal("facet=true", container[0]); Assert.Equal("facet.range={!key=X}_id_", container[1]); Assert.Equal("f._id_.facet.range.gap=1", container[2]); Assert.Equal("f._id_.facet.range.start=10", container[3]); Assert.Equal("f._id_.facet.range.end=20", container[4]); Assert.Equal("f._id_.facet.range.other=before", container[5]); Assert.Equal("f._id_.facet.range.other=after", container[6]); Assert.Equal("f._id_.facet.range.sort=count", container[7]); Assert.Equal("f._id_.facet.mincount=1", container[8]); }
public void FacetRangeParameter017() { // Arrange var expected = JObject.Parse(@" { ""facet"": { ""X"": { ""range"": { ""field"": ""{!ex=tag1,tag2}_id_"", ""mincount"": 1, ""gap"": ""1"", ""start"": ""10"", ""end"": ""20"", ""other"": [ ""before"" ] } } } }").ToString(); var jObject = new JObject(); var expressionCache = new ExpressionCache <TestDocument>(); var expressionBuilder = (IExpressionBuilder <TestDocument>) new ExpressionBuilder <TestDocument>(expressionCache); var parameter = new FacetRangeParameter <TestDocument>(expressionBuilder); parameter.Configure("X", q => q.Id, "1", "10", "20", true, false, excludes: new[] { "tag1", "tag2" }); // Act parameter.Execute(jObject); var actual = jObject.ToString(); // Assert Assert.Equal(expected, actual); }
public void FacetRangeParamete011() { // Arrange var container = new List <string>(); var expressionCache = new ExpressionCache <TestDocument>(); var expressionBuilder = (IExpressionBuilder <TestDocument>) new ExpressionBuilder <TestDocument>(expressionCache); var parameter = new FacetRangeParameter <TestDocument>(expressionBuilder); parameter.Configure("X", q => q.Id, "1", "10", "20", true, true, FacetSortType.IndexDesc); // Act / Assert Assert.Throws <UnsupportedSortTypeException>(() => parameter.Execute(container)); }
public void FacetRangeParameter002() { // Arrange var expected = JObject.Parse(@" { ""facet"": { ""X"": { ""range"": { ""field"": ""_id_"", ""mincount"": 1, ""gap"": ""1"", ""start"": ""10"", ""end"": ""20"", ""other"": [ ""before"", ""after"" ], ""sort"": { ""count"": ""desc"" } } } } }"); string actual; var jObject = new JObject(); var expressionCache = new ExpressionCache <TestDocument>(); var expressionBuilder = (IExpressionBuilder <TestDocument>) new ExpressionBuilder <TestDocument>(expressionCache); var parameter = new FacetRangeParameter <TestDocument>(expressionBuilder); parameter.Configure("X", q => q.Id, "1", "10", "20", true, true, FacetSortType.CountDesc); // Act parameter.Execute(jObject); actual = jObject.ToString(); // Assert Assert.Equal(expected.ToString(), actual); }
public void FacetRangeParameter018() { // Arrange var container = new List <string>(); var expressionCache = new ExpressionCache <TestDocument>(); var expressionBuilder = (IExpressionBuilder <TestDocument>) new ExpressionBuilder <TestDocument>(expressionCache); var parameter = new FacetRangeParameter <TestDocument>(expressionBuilder); parameter.Configure("X", q => q.Id, "+7DAY", "NOW-21DAYS", "NOW+1DAY", true, true); // Act parameter.Execute(container); // Assert Assert.Equal(8, container.Count); Assert.Equal("facet=true", container[0]); Assert.Equal("facet.range={!key=X}_id_", container[1]); Assert.Equal("f._id_.facet.range.gap=%2B7DAY", container[2]); Assert.Equal("f._id_.facet.range.start=NOW-21DAYS", container[3]); Assert.Equal("f._id_.facet.range.end=NOW%2B1DAY", container[4]); Assert.Equal("f._id_.facet.range.other=before", container[5]); Assert.Equal("f._id_.facet.range.other=after", container[6]); Assert.Equal("f._id_.facet.mincount=1", container[7]); }