public void Parse_WhenNonMemberExpression_ThrowsSisoDbException()
        {
            var parser = new SortingParser();
            var nonMemberExpression = Reflect <MyClass> .BoolExpressionFrom(m => m.Int1 == 32);

            var ex = Assert.Throws <NCoreException>(() => parser.Parse(new [] { nonMemberExpression }));

            Assert.AreEqual("No MemberExpression found in expression: '(m.Int1 == 32)'.", ex.Message);
        }
        public void Parse_WhenNonMemberExpression_ThrowsException()
        {
            var parser = CreateParser();
            var nonMemberExpression = new OrderByAscExpression(Reflect <MyClass> .BoolExpressionFrom(m => m.Int1 == 32));

            var ex = Assert.Throws <SisoDbException>(() => parser.Parse(new[] { nonMemberExpression }));

            Assert.AreEqual(ExceptionMessages.OrderByExpressionDoesNotTargetMember.Inject("m => (m.Int1 == 32)"), ex.Message);
        }
        public void Where_WhenExpressionAllreadyBeenAssigned_ThrowsSisoDbException()
        {
            var whereParserFake = new Mock <IWhereParser>();

            whereParserFake
            .Setup(f => f.Parse(It.IsAny <Expression <Func <MyClass, bool> > >()))
            .Returns(new Mock <IParsedLambda>().Object);
            var builder = CreateBuilderWithFakes();

            builder.WhereParser = whereParserFake.Object;

            var expression = Reflect <MyClass> .BoolExpressionFrom(m => m.Int1 == 1);

            builder.Where(expression);

            Assert.Throws <SisoDbException>(() => builder.Where(expression));
        }