public void FacetRangeParameter015() { // Arrange var expected = JObject.Parse(@" { ""facet"": { ""X"": { ""range"": { ""field"": ""{!ex=tag1,tag2}_id_"", ""mincount"": 1, ""gap"": ""1"", ""start"": ""10"", ""end"": ""20"", ""other"": [ ""before"", ""after"" ] } } } }").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, true, excludes: new[] { "tag1", "tag2" }); // Act parameter.Execute(jObject); var actual = jObject.ToString(); // Assert Assert.Equal(expected, actual); }
public void FacetRangeParameter016() { // Arrange / Act / Assert var expressionCache = new ExpressionCache <TestDocument>(); var expressionBuilder = (IExpressionBuilder <TestDocument>) new ExpressionBuilder <TestDocument>(expressionCache); var parameter = new FacetRangeParameter <TestDocument>(expressionBuilder); // Act / Assert Assert.Throws <ArgumentNullException>(() => parameter.Configure("x", q => q.Id, "", "", null)); }
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 FacetRangeParameter003() { // Arrange bool isValid; string errorMessage; var expressionCache = new ExpressionCache <TestDocumentWithAnyPropertyTypes>(); var expressionBuilder = (IExpressionBuilder <TestDocumentWithAnyPropertyTypes>) new ExpressionBuilder <TestDocumentWithAnyPropertyTypes>(expressionCache); var parameter = new FacetRangeParameter <TestDocumentWithAnyPropertyTypes>(expressionBuilder); parameter.Configure("X", q => q.PropInteger, "1", "10", "20", true, true, FacetSortType.CountDesc); // Act parameter.Validate(out isValid, out errorMessage); // Assert Assert.True(isValid); Assert.True(string.IsNullOrWhiteSpace(errorMessage)); }
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 FacetRangeParameter020() { // 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, false, FacetSortType.CountAsc); // 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=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.sort=count", container[6]); Assert.Equal("f._id_.facet.mincount=1", container[7]); }
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]); }
public void FacetRangeParameter017() { // 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, excludes: new[] { "tag1", "tag2" }); // Act parameter.Execute(container); // Assert Assert.Equal(8, container.Count); Assert.Equal("facet=true", container[0]); Assert.Equal("facet.range={!ex=tag1,tag2 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.mincount=1", container[7]); }