public void Transform_InvalidArgumentCount() { var method = typeof(string).GetMethod("ToUpper", new Type[] { }); var objectExpression = Expression.Constant("Test"); var expression = Expression.Call(objectExpression, method); var transformer = new ReplaceMethodCallTransformer(); transformer.Transform(expression); }
public void Transform() { var method = typeof(string).GetMethod("Replace", new[] { typeof(string), typeof(string) }); var objectExpression = Expression.Constant("TAst"); var expression = Expression.Call(objectExpression, method, Expression.Constant("A"), Expression.Constant("B")); var transformer = new ReplaceMethodCallTransformer(); var result = transformer.Transform(expression); Assert.That(result, Is.InstanceOf(typeof(SqlFunctionExpression))); Assert.That(result.Type, Is.EqualTo(typeof(string))); Assert.That(((SqlFunctionExpression)result).SqlFunctioName, Is.EqualTo("REPLACE")); Assert.That(((SqlFunctionExpression)result).Args[0], Is.EqualTo(objectExpression)); Assert.That(((SqlFunctionExpression)result).Args.Count, Is.EqualTo(3)); }