public void Transform_TwoArguments() { var method = typeof(StringExtensions).GetMethod( "SqlContainsFulltext", BindingFlags.Public | BindingFlags.Static, null, CallingConventions.Any, new[] { typeof(string), typeof(string), typeof(string) }, null); var objectExpression = Expression.Constant("Test"); var argument1 = Expression.Constant("es"); var language = Expression.Constant("language"); var expression = Expression.Call(method, objectExpression, argument1, language); var transformer = new ContainsFreetextMethodCallTransformer(); var result = transformer.Transform(expression); var argumentExpression = Expression.Constant(string.Format("{0}", argument1.Value)); var compositeExpression = new SqlCompositeCustomTextGeneratorExpression( typeof(string), new SqlCustomTextExpression("LANGUAGE ", typeof(string)), language); var expectedResult = new SqlFunctionExpression(typeof(bool), "FREETEXT", objectExpression, argumentExpression, compositeExpression); SqlExpressionTreeComparer.CheckAreEqualTrees(expectedResult, result); }
public void Transform_OneArgument() { var method = typeof(StringExtensions).GetMethod( "SqlContainsFulltext", BindingFlags.Public | BindingFlags.Static, null, CallingConventions.Any, new[] { typeof(string), typeof(string) }, null); var objectExpression = Expression.Constant("Test"); var argument1 = Expression.Constant("es"); var expression = Expression.Call(method, objectExpression, argument1); var transformer = new ContainsFreetextMethodCallTransformer(); var result = transformer.Transform(expression); var rightExpression = Expression.Constant(string.Format("{0}", argument1.Value)); var expectedResult = new SqlFunctionExpression(typeof(bool), "FREETEXT", objectExpression, rightExpression); SqlExpressionTreeComparer.CheckAreEqualTrees(expectedResult, result); }