Example #1
0
        public void TestGetCaster()
        {
            Object[][] tests = new Object[][] {
                new object[] { typeof(long), 10, 10L },
                new object[] { typeof(double), 1, 1d },
                new object[] { typeof(int), 0x1, 1 },
                new object[] { typeof(float), 100, 100f },
                new object[] { typeof(int?), (short)2, 2 },
                new object[] { typeof(byte?), (short)2, (byte)2 },
                new object[] { typeof(short), (long)2, (short)2 },
            };

            for (int i = 0; i < tests.Length; i++)
            {
                SimpleTypeCaster caster = SimpleTypeCasterFactory.GetCaster(null, (Type)tests[i][0]);
                Assert.AreEqual(tests[i][2], caster.Invoke(tests[i][1]), "error in row:" + i);
            }

            Assert.AreEqual('A', SimpleTypeCasterFactory.GetCaster(typeof(string), typeof(char)).Invoke("ABC"));

            //Assert.AreEqual(BigInteger.ValueOf(100), SimpleTypeCasterFactory.GetCaster(typeof(long?), typeof(BigInteger)).Cast(100L));
            //Assert.AreEqual(100.0m, SimpleTypeCasterFactory.GetCaster(typeof(long?), typeof(BigDecimal)).Cast(100L));
            //Assert.AreEqual(new BigDecimal(100d), SimpleTypeCasterFactory.GetCaster(typeof(double?), typeof(BigDecimal)).Cast(100d));
        }
Example #2
0
 public void SetUp()
 {
     caster = SimpleTypeCasterFactory.GetCaster(typeof(ISupportA));
     //caster = new SimpleTypeCasterAnyType(typeof(ISupportA));
 }