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);
        }