コード例 #1
0
        public void QueryString_GuardClauses()
        {
            var source = new FakeQueryProvider().CreateQuery <Sample>();

            Assert.Throws <ArgumentNullException>(() => ElasticQueryExtensions.QueryString <Sample>(null, ""));
            Assert.Throws <ArgumentNullException>(() => source.QueryString(null));
        }
コード例 #2
0
        public void QueryStringWithFields_GuardClauses()
        {
            var source = new FakeQueryProvider().CreateQuery <Sample>();

            Assert.Throws <ArgumentNullException>(() => ElasticQueryExtensions.QueryString <Sample>(null, "", new[] { "one", "two" }));
            Assert.Throws <ArgumentNullException>(() => source.QueryString(null, new[] { "one", "two" }));
            Assert.Throws <ArgumentOutOfRangeException>(() => source.QueryString("hi", null));
            Assert.Throws <ArgumentOutOfRangeException>(() => source.QueryString("hi", new string[] { }));
        }
コード例 #3
0
        public void QueryIsAddedToExpressionTree()
        {
            var source  = new FakeQueryProvider().CreateQuery <Sample>();
            var queried = source.Query(s => s.Property == "a");

            Assert.IsAssignableFrom <MethodCallExpression>(queried.Expression);
            var callExpression = (MethodCallExpression)queried.Expression;

            Assert.Equal(2, callExpression.Arguments.Count);
            Assert.Equal(ExpressionType.Quote, callExpression.Arguments[1].NodeType);
        }
コード例 #4
0
        public void QueryStringIsAddedToExpressionTree()
        {
            const string expectedQueryString = "abcdef";
            var          source  = new FakeQueryProvider().CreateQuery <Sample>();
            var          applied = source.QueryString(expectedQueryString);

            Assert.IsAssignableFrom <MethodCallExpression>(applied.Expression);
            var callExpression = (MethodCallExpression)applied.Expression;

            Assert.Equal(2, callExpression.Arguments.Count);
            Assert.IsType <ConstantExpression>(callExpression.Arguments[1]);
            Assert.Equal(((ConstantExpression)callExpression.Arguments[1]).Value, expectedQueryString);
        }
コード例 #5
0
        public void QueryStringWithFieldsIsAddedToExpressionTree()
        {
            const string expectedQueryString = "abcdef";
            var          expectedFields      = new[] { "three", "four" };

            var source  = new FakeQueryProvider().CreateQuery <Sample>();
            var applied = source.QueryString(expectedQueryString, expectedFields);

            Assert.IsAssignableFrom <MethodCallExpression>(applied.Expression);
            var callExpression = (MethodCallExpression)applied.Expression;

            Assert.Equal(3, callExpression.Arguments.Count);
            var queryStringConstantExpression = Assert.IsType <ConstantExpression>(callExpression.Arguments[1]);

            Assert.Equal(queryStringConstantExpression.Value, expectedQueryString);
            var fieldsConstantExpression = Assert.IsType <ConstantExpression>(callExpression.Arguments[2]);

            Assert.Equal(fieldsConstantExpression.Value, expectedFields);
        }
コード例 #6
0
        public void ThenByScoreIsAddedToExpressionTree()
        {
            var source = new FakeQueryProvider().CreateQuery <Sample>().OrderByScore();

            AssertIsAddedToExpressionTree <IOrderedQueryable <Sample>, Sample>(source, ElasticQueryExtensions.ThenByScore, "ThenByScore");
        }
コード例 #7
0
        public void OrderByScoreDescendingIsAddedToExpressionTree()
        {
            var source = new FakeQueryProvider().CreateQuery <Sample>();

            AssertIsAddedToExpressionTree <IQueryable <Sample>, Sample>(source, ElasticQueryExtensions.OrderByScoreDescending, "OrderByScoreDescending");
        }
コード例 #8
0
        public void QueryStringThrowsArgumentNullWhenArgumentIsNull()
        {
            var source = new FakeQueryProvider().CreateQuery <Sample>();

            Assert.Throws <ArgumentNullException>(() => source.QueryString(null));
        }