public static void ConstructorDefaultsToConstantExpressionIfNotSpecified()
        {
            var context = new TestableElasticContext();

            var query = new TestableElasticQuery<FakeClass>(context);

            Assert.IsType<ConstantExpression>(query.Expression);
        }
        public static void ConstructorDefaultsToConstantExpressionIfNotSpecified()
        {
            var context = new TestableElasticContext();

            var query = new TestableElasticQuery <FakeClass>(context);

            Assert.IsType <ConstantExpression>(query.Expression);
        }
        public static void ImplicitGetEnumeratorCapturesQueryOnContext()
        {
            const string expectedBody = "requestwascaptured";
            var context = new TestableElasticContext();

            var dummy = new TestableElasticQuery<FakeClass>(context).Where(f => f.Name == expectedBody).ToArray();

            Assert.Equal(1, context.Requests.Count);
            Assert.Contains(expectedBody, context.Requests[0].Query);
        }
        public static void ImplicitGetEnumeratorCapturesQueryOnContext()
        {
            const string expectedBody = "requestwascaptured";
            var          context      = new TestableElasticContext();

            var dummy = new TestableElasticQuery <FakeClass>(context).Where(f => f.Name == expectedBody).ToArray();

            Assert.Equal(1, context.Requests.Count);
            Assert.Contains(expectedBody, context.Requests[0].Query);
        }
        public static void ConstructorWithAllArgSetsCorrectProperties()
        {
            var expectedExpression = Expression.Constant("oh hai");
            var context = new TestableElasticContext();

            var query = new TestableElasticQuery<FakeClass>(context, expectedExpression);

            Assert.Equal(context, query.Context);
            Assert.Equal(typeof(FakeClass), query.ElementType);
            Assert.Equal(context.Provider, query.Provider);
            Assert.Equal(expectedExpression, query.Expression);
        }
        public static void ConstructorWithAllArgSetsCorrectProperties()
        {
            var expectedExpression = Expression.Constant("oh hai");
            var context            = new TestableElasticContext();

            var query = new TestableElasticQuery <FakeClass>(context, expectedExpression);

            Assert.Equal(context, query.Context);
            Assert.Equal(typeof(FakeClass), query.ElementType);
            Assert.Equal(context.Provider, query.Provider);
            Assert.Equal(expectedExpression, query.Expression);
        }