public void CannotCallProcessWithNullContext()
        {
            var    instance = new ConventionBasedQueryExpressionProcessor(typeof(EmptyApi));
            Action act      = () => instance.Process(default(QueryExpressionContext));

            act.Should().Throw <ArgumentNullException>();
        }
        public void CanSetAndGetInner()
        {
            var instance  = new ConventionBasedQueryExpressionProcessor(typeof(EmptyApi));
            var testValue = new Mock <IQueryExpressionProcessor>().Object;

            instance.Inner = testValue;
            instance.Inner.Should().Be(testValue);
        }
        public void InnerProcessorShortCircuits()
        {
            var api                    = new QueryFilterApi(serviceProvider);
            var instance               = new ConventionBasedQueryExpressionProcessor(typeof(EmptyApi));
            var queryable              = api.GetQueryableSource("Tests");
            var queryRequest           = new QueryRequest(queryable);
            var queryContext           = new QueryContext(api, queryRequest);
            var queryExpressionContext = new QueryExpressionContext(queryContext);
            var processorMock          = new Mock <IQueryExpressionProcessor>();
            var expression             = Expression.Constant(42);

            processorMock.Setup(x => x.Process(queryExpressionContext)).Returns(expression);
            instance.Inner = processorMock.Object;

            var result = instance.Process(queryExpressionContext);

            result.Should().Be(expression);
        }
        public void CanConstruct()
        {
            var instance = new ConventionBasedQueryExpressionProcessor(typeof(EmptyApi));

            instance.Should().NotBeNull();
        }