예제 #1
0
 public void AvoidsImplicitBoxingWhenTargetTypeIsAGenericArgument()
 {
     Assert.AreEqual(
         @"() => StaticTestClass.TwoArgsTwoGeneric(3, new object())",
         ExpressionToCode.ToCode(() => StaticTestClass.TwoArgsTwoGeneric(3, new object()))
         );
 }
예제 #2
0
        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))
                );
        }
예제 #4
0
        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))
                );
        }