public void AvoidsImplicitBoxingWhenTargetTypeIsAGenericArgument() { Assert.AreEqual( @"() => StaticTestClass.TwoArgsTwoGeneric(3, new object())", ExpressionToCode.ToCode(() => StaticTestClass.TwoArgsTwoGeneric(3, new object())) ); }
public void AvoidsImplicitCastWhenTargetTypeIsAGenericArgument() { var x = 37; var y = 42.0; Assert.Equal( @"() => StaticTestClass.TwoArgsTwoGeneric(x, y)", ExpressionToCode.ToCode(() => StaticTestClass.TwoArgsTwoGeneric(x, y)) ); }
public void CanInferTwoArg() { Assert.AreEqual( @"() => StaticTestClass.TwoArgsTwoGeneric(3, 3)", ExpressionToCode.ToCode(() => StaticTestClass.TwoArgsTwoGeneric(3, 3)) ); Assert.AreEqual( @"() => StaticTestClass.TwoArgsTwoGeneric((object)3, new object())", ExpressionToCode.ToCode(() => StaticTestClass.TwoArgsTwoGeneric(3, new object())) ); int x = 37; double y = 42.0; Assert.AreEqual( @"() => StaticTestClass.TwoArgsTwoGeneric((double)x, y)", ExpressionToCode.ToCode(() => StaticTestClass.TwoArgsTwoGeneric(x, y)) ); }
public void CanInferTwoArg() { Assert.Equal( @"() => StaticTestClass.TwoArgsTwoGeneric(3, 3)", ExpressionToCode.ToCode(() => StaticTestClass.TwoArgsTwoGeneric(3, 3)) ); Assert.Equal( @"() => StaticTestClass.TwoArgsTwoGeneric(3, new object())", ExpressionToCode.ToCode(() => StaticTestClass.TwoArgsTwoGeneric(3, new object())) ); var x = 37; var y = 42.0; Assert.Equal( @"() => StaticTestClass.TwoArgsTwoGeneric(x, y)", ExpressionToCode.ToCode(() => StaticTestClass.TwoArgsTwoGeneric(x, y)) ); }