Exemplo n.º 1
0
        public void Transform_WrongNumberOfArguments()
        {
            var method     = typeof(object).GetMethod("ToString", new Type[0]);
            var expression = Expression.Call(Expression.Constant("test"), method);

            var transformer = new EqualsMethodCallTransformer();

            transformer.Transform(expression);
        }
Exemplo n.º 2
0
        public void Transform_StaticMethod_NonMatchingTypes()
        {
            var method     = typeof(object).GetMethod("Equals", new[] { typeof(object), typeof(object) });
            var parameter1 = Expression.Constant("s");
            var parameter2 = Expression.Constant(null, typeof(Cook));
            var expression = Expression.Call(method, parameter1, parameter2);

            var transformer = new EqualsMethodCallTransformer();
            var result      = transformer.Transform(expression);

            var expectedResult = Expression.Equal(Expression.Convert(parameter1, typeof(object)), Expression.Convert(parameter2, typeof(object)));

            SqlExpressionTreeComparer.CheckAreEqualTrees(expectedResult, result);
        }
Exemplo n.º 3
0
        public void Transform_StaticMethod()
        {
            var method     = typeof(object).GetMethod("Equals", new[] { typeof(object), typeof(object) });
            var parameter1 = Expression.Constant(new object());
            var parameter2 = Expression.Constant(new object());
            var expression = Expression.Call(method, parameter1, parameter2);

            var transformer = new EqualsMethodCallTransformer();
            var result      = transformer.Transform(expression);

            var expectedResult = Expression.Equal(parameter1, parameter2);

            SqlExpressionTreeComparer.CheckAreEqualTrees(expectedResult, result);
        }
Exemplo n.º 4
0
        public void Transform_InstanceMethod_IncompatibleTypes()
        {
            var method     = typeof(object).GetMethod("Equals", new[] { typeof(object) });
            var instance   = Expression.Constant(0);
            var argument   = Expression.Constant("string");
            var expression = Expression.Call(instance, method, argument);

            var transformer = new EqualsMethodCallTransformer();
            var result      = transformer.Transform(expression);

            var expectedResult = Expression.Equal(Expression.Convert(instance, typeof(object)), Expression.Convert(argument, typeof(object)));

            SqlExpressionTreeComparer.CheckAreEqualTrees(expectedResult, result);
        }
Exemplo n.º 5
0
        public void Transform_InstanceMethod()
        {
            var method     = typeof(object).GetMethod("Equals", new[] { typeof(object) });
            var instance   = Expression.Constant(new object());
            var argument   = Expression.Constant(new object());
            var expression = Expression.Call(instance, method, argument);

            var transformer = new EqualsMethodCallTransformer();
            var result      = transformer.Transform(expression);

            var expectedResult = Expression.Equal(instance, argument);

            SqlExpressionTreeComparer.CheckAreEqualTrees(expectedResult, result);
        }