Beispiel #1
0
        public void FacetQueryParameter002()
        {
            // Arrange
            var    expected = JObject.Parse(@"
            {
              ""facet"": {
                ""X"": {
                  ""query"": {
                    ""q"": ""avg('Y')"",
                    ""mincount"": 1,
                    ""sort"": {
                      ""count"": ""desc""
                    }
                  }
                }
              }
            }");
            string actual;
            var    jObject           = new JObject();
            var    expressionCache   = new ExpressionCache <TestDocument>();
            var    expressionBuilder = new ExpressionBuilder <TestDocument>(expressionCache);
            var    parameter         = new FacetQueryParameter <TestDocument>(expressionBuilder);

            parameter.Configure("X", new Any <TestDocument>("avg('Y')"), FacetSortType.CountDesc);

            // Act
            parameter.Execute(jObject);
            actual = jObject.ToString();

            // Assert
            Assert.Equal(expected.ToString(), actual);
        }
Beispiel #2
0
        public void FacetQueryParameter005()
        {
            // Arrange
            var    expected = JObject.Parse(@"
            {
              ""facet"": {
                ""X"": {
                  ""query"": {
                    ""q"": ""{!ex=tag1,tag2}avg('Y')"",
                    ""mincount"": 1
                  }
                }
              }
            }");
            string actual;
            var    jObject           = new JObject();
            var    expressionCache   = new ExpressionCache <TestDocument>();
            var    expressionBuilder = new ExpressionBuilder <TestDocument>(expressionCache);
            var    parameter         = new FacetQueryParameter <TestDocument>(expressionBuilder);

            parameter.Configure("X", new Any <TestDocument>("avg('Y')"), excludes: new[] { "tag1", "tag2" });

            // Act
            parameter.Execute(jObject);
            actual = jObject.ToString();

            // Assert
            Assert.Equal(expected.ToString(), actual);
        }
        public void FacetQueryParameter006()
        {
            // Arrange
            var expressionCache   = new ExpressionCache <TestDocument>();
            var expressionBuilder = new ExpressionBuilder <TestDocument>(expressionCache);
            var parameter         = new FacetQueryParameter <TestDocument>(expressionBuilder);

            // Act / Assert
            Assert.Throws <ArgumentNullException>(() => parameter.Configure("x", null));
        }
        public void FacetQueryParameter004()
        {
            // Arrange
            var container         = new List <string>();
            var expressionCache   = new ExpressionCache <TestDocument>();
            var expressionBuilder = new ExpressionBuilder <TestDocument>(expressionCache);
            var parameter         = new FacetQueryParameter <TestDocument>(expressionBuilder);

            parameter.Configure("X", new QueryAll <TestDocument>(), FacetSortType.IndexDesc);

            // Act / Assert
            Assert.Throws <UnsupportedSortTypeException>(() => parameter.Execute(container));
        }
        public void FacetQueryParameter001()
        {
            // Arrange
            var container         = new List <string>();
            var expressionCache   = new ExpressionCache <TestDocument>();
            var expressionBuilder = new ExpressionBuilder <TestDocument>(expressionCache);
            var parameter         = new FacetQueryParameter <TestDocument>(expressionBuilder);

            parameter.Configure("X", new Any <TestDocument>("avg('Y')"));

            // Act
            parameter.Execute(container);

            // Assert
            Assert.Equal(3, container.Count);
            Assert.Equal("facet=true", container[0]);
            Assert.Equal("facet.query={!key=X}avg('Y')", container[1]);
            Assert.Equal("f.X.facet.mincount=1", container[2]);
        }