示例#1
0
        public void Expression_Unary_Overloadable_Struct(string op)
        {
            var value  = new MockedOperatorStruct("value");
            var result = EvaluateUnary(op, value.GetType(), value);

            Assert.Equal(new MockedOperatorStruct(op + " value"), result);
        }
示例#2
0
        public void Expression_Binary_Overloadable_Struct_Null_Right(string op)
        {
            var left   = new MockedOperatorStruct("left");
            var type   = left.GetType();
            var result = EvaluateBinary(op, type, type, left, null);

            Assert.Null(result);
        }
示例#3
0
        public void Expression_Binary_Overloadable_Struct_Null_Left(string op)
        {
            var right  = new MockedOperatorStruct("right");
            var type   = right.GetType();
            var result = EvaluateBinary(op, type, type, null, right);

            Assert.Null(result);
        }
示例#4
0
        public void Expression_Binary_Overloadable_Struct(string op)
        {
            var left   = new MockedOperatorStruct("left");
            var right  = new MockedOperatorStruct("right");
            var type   = left.GetType();
            var result = EvaluateBinary(op, type, type, left, right);

            Assert.Equal(new MockedOperatorStruct(left + " " + op + " " + right), result);
        }