예제 #1
0
        public void EqualIntegerReal()
        {
            EqualExpression expr = new EqualExpression(new ConstantExpression(1), new ConstantExpression(1.0));

            Assert.AreEqual(true, expr.Evaluate(null));
            Assert.AreSame(TypeInfo.Boolean, expr.TypeInfo);
        }
예제 #2
0
        public static void TestEvaluate(object lhs, object rhs, object expectedValue)
        {
            var expression = new EqualExpression(
                Mock.Of <IExpression>(e => e.Evaluate(It.IsAny <IDictionary <string, object> >()) == lhs),
                Mock.Of <IExpression>(e => e.Evaluate(It.IsAny <IDictionary <string, object> >()) == rhs),
                new Context(ExpressiveOptions.None));

            Assert.That(expression.Evaluate(null), Is.EqualTo(expectedValue));
        }
        public void TestRightNull()
        {
            var expression = new EqualExpression(
                Mock.Of <IExpression>(e => e.Evaluate(It.IsAny <IDictionary <string, object> >()) == (object)false),
                Mock.Of <IExpression>(e => e.Evaluate(It.IsAny <IDictionary <string, object> >()) == (object)null),
                ExpressiveOptions.None);

            Assert.AreEqual(false, expression.Evaluate(null));
        }
예제 #4
0
        public void TestIntFloatEqual()
        {
            var expression = new EqualExpression(
                Mock.Of <IExpression>(e => e.Evaluate(It.IsAny <IDictionary <string, object> >()) == (object)1),
                Mock.Of <IExpression>(e => e.Evaluate(It.IsAny <IDictionary <string, object> >()) == (object)1.00),
                ExpressiveOptions.None);

            Assert.AreEqual(true, expression.Evaluate(null));
        }
예제 #5
0
        public void NotEqualStrings()
        {
            EqualExpression expr = new EqualExpression(new ConstantExpression("foo"), new ConstantExpression("bar"));

            Assert.AreEqual(false, expr.Evaluate(null));
        }
예제 #6
0
        public void NotEqualReals()
        {
            EqualExpression expr = new EqualExpression(new ConstantExpression(1.3), new ConstantExpression(2.4));

            Assert.AreEqual(false, expr.Evaluate(null));
        }
예제 #7
0
        public void NotEqualIntegers()
        {
            EqualExpression expr = new EqualExpression(new ConstantExpression(1), new ConstantExpression(2));

            Assert.AreEqual(false, expr.Evaluate(null));
        }
예제 #8
0
        public void CompareRealOneWithIntegerOne()
        {
            EqualExpression expr = new EqualExpression(new ConstantExpression(1.0), new ConstantExpression(1));

            Assert.AreEqual(true, expr.Evaluate(null));
        }
예제 #9
0
        public void CompareNullWithNull()
        {
            EqualExpression expr = new EqualExpression(new ConstantExpression(null), new ConstantExpression(null));

            Assert.AreEqual(true, expr.Evaluate(null));
        }
예제 #10
0
        public void CompareNullWithBar()
        {
            EqualExpression expr = new EqualExpression(new ConstantExpression(null), new ConstantExpression("bar"));

            Assert.AreEqual(false, expr.Evaluate(null));
        }
예제 #11
0
        public void CompareFooWithFoo()
        {
            EqualExpression expr = new EqualExpression(new ConstantExpression("foo"), new ConstantExpression("foo"));

            Assert.AreEqual(true, expr.Evaluate(null));
        }
예제 #12
0
        public void CompareOneWithTwo()
        {
            EqualExpression expr = new EqualExpression(new ConstantExpression(1), new ConstantExpression(2));

            Assert.AreEqual(false, expr.Evaluate(null));
        }