public void StringCompare_GreaterThanNeg1_ReturnsGreaterThanOrEqual() { // Arrange var string1 = Expression.Constant("A"); var string2 = Expression.Constant("B"); BinaryExpression expression = Expression.GreaterThan( Expression.Call( typeof(string).GetMethod("Compare", new[] { typeof(string), typeof(string) }), string1, string2 ), Expression.Constant(-1)); var transformer = new StringComparisonExpressionTransformer(); // Act var newExpression = transformer.Transform(expression) as StringComparisonExpression; // Assert Assert.NotNull(newExpression); Assert.AreEqual(ExpressionType.GreaterThanOrEqual, newExpression.Operation); Assert.AreEqual(string1, newExpression.Left); Assert.AreEqual(string2, newExpression.Right); }
public void StringCompare_EqualToNeg1_ReturnsLessThan() { // Arrange var string1 = Expression.Constant("A"); var string2 = Expression.Constant("B"); BinaryExpression expression = Expression.Equal( Expression.Call( typeof(string).GetMethod("Compare", new[] { typeof(string), typeof(string) }), string1, string2 ), Expression.Constant(-1)); var transformer = new StringComparisonExpressionTransformer(); // Act var newExpression = transformer.Transform(expression) as StringComparisonExpression; // Assert Assert.NotNull(newExpression); Assert.AreEqual(ExpressionType.LessThan, newExpression.Operation); Assert.AreEqual(string1, newExpression.Left); Assert.AreEqual(string2, newExpression.Right); }