public void QueryString_GuardClauses() { var source = new FakeQueryProvider().CreateQuery <Sample>(); Assert.Throws <ArgumentNullException>(() => ElasticQueryExtensions.QueryString <Sample>(null, "")); Assert.Throws <ArgumentNullException>(() => source.QueryString(null)); }
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[] { })); }
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); }
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); }
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); }
public void ThenByScoreIsAddedToExpressionTree() { var source = new FakeQueryProvider().CreateQuery <Sample>().OrderByScore(); AssertIsAddedToExpressionTree <IOrderedQueryable <Sample>, Sample>(source, ElasticQueryExtensions.ThenByScore, "ThenByScore"); }
public void OrderByScoreDescendingIsAddedToExpressionTree() { var source = new FakeQueryProvider().CreateQuery <Sample>(); AssertIsAddedToExpressionTree <IQueryable <Sample>, Sample>(source, ElasticQueryExtensions.OrderByScoreDescending, "OrderByScoreDescending"); }
public void QueryStringThrowsArgumentNullWhenArgumentIsNull() { var source = new FakeQueryProvider().CreateQuery <Sample>(); Assert.Throws <ArgumentNullException>(() => source.QueryString(null)); }