Exemple #1
0
        public void CompareShouldIgnoreSetOnlyProperty()
        {
            var entity = new Entity();
            var testee = new CustomOperator("");
            var left   = new BlankOperand();
            var right  = new Operand(Expression.Constant(true), typeof(bool));

            testee.Compare(Expression.Constant(entity), left, right);

            CollectionAssert.AreEqual(new string[] { "Both:Get", "GetOnly:Get" }, entity.CalledProperties);
            Assert.AreEqual(2, testee.CompareCalledCount);
        }
Exemple #2
0
        public void CompareShouldReturnConstantTrueWhenTargetTypeDoesNotHaveProperty()
        {
            var entity = new EmptyEntity();
            var testee = new CustomOperatorNoDescriptionAttribute("");
            var left   = new BlankOperand();
            var right  = new Operand(Expression.Constant(true), typeof(bool));

            var actual = testee.Compare(Expression.Constant(entity), left, right);

            Assert.IsInstanceOf <ConstantExpression>(actual.Expression);
            Assert.IsTrue((bool)Expression.Lambda(actual.Expression).Compile().DynamicInvoke());
            Assert.AreEqual(typeof(bool), actual.OperandType);
        }