示例#1
0
        public void ReflectionConverterTest()
        {
            var converter1 = new ReflectionConverter();

            Assert.IsNull(converter1.Convert(null, null, null, null));
            Assert.IsNull(converter1.ConvertBack(null, null, null, null));
            Assert.AreEqual(15, converter1.Convert(15, null, null, null));
            Assert.AreEqual(15, converter1.ConvertBack(15, null, null, null));
            Assert.AreEqual("abc", ((FromString)converter1.Convert("abc", typeof(FromString), null, null)).S);
            Assert.AreEqual("abc", ((FromString)converter1.ConvertBack("abc", typeof(FromString), null, null)).S);
            var converter2 = new ReflectionConverter()
            {
                ConvertMethod = "ToString", ConvertBackMethodOwner = typeof(FromString)
            };

            Assert.AreEqual("15", converter2.Convert(new FromString("15"), null, null, null));
            Assert.AreEqual("abc", ((FromString)converter2.ConvertBack("abc", null, null, null)).S);
            var converter3 = new ReflectionConverter()
            {
                ConvertMethodOwner = typeof(FromString), ConvertBackMethod = "ToString", ConvertBackMethodOwner = null
            };

            Assert.AreEqual("abc", ((FromString)converter3.Convert("abc", null, null, null)).S);
            Assert.AreEqual("15", converter3.ConvertBack(new FromString("15"), null, null, null));
            var converter4 = new ReflectionConverter()
            {
                ConvertMethodOwner = typeof(ReflectionConverterTestMethods), ConvertMethod = "IntToString", ConvertBackMethod = "StringToInt"
            };

            Assert.AreEqual("S15", converter4.Convert(15, null, null, null));
            Assert.AreEqual(15, converter4.ConvertBack("S15", null, null, null));
        }
示例#2
0
        void ReflectionConverter_ConvertMethodParametersTestCore(string method, bool withParameter)
        {
            IValueConverter reflectionConverter = new ReflectionConverter()
            {
                ConvertMethodOwner = typeof(ReflectionConvertTestMockStatic), ConvertMethod = method
            };

            Assert.AreEqual(withParameter ? "36" : "22", reflectionConverter.Convert(22, typeof(string), 14, CultureInfo.InvariantCulture));
        }
        void ReflectionConverter_ConvertMethodParametersTest(Action <Mock <IReflectionConverterTestMock> > setup, string method, bool withParameter)
        {
            var mock = new Mock <IReflectionConverterTestMock>(MockBehavior.Strict);

            ReflectionConvertTestMockStatic.Mock = mock.Object;
            setup(mock);
            IValueConverter reflectionConverter = new ReflectionConverter()
            {
                ConvertMethodOwner = typeof(ReflectionConvertTestMockStatic), ConvertMethod = method
            };

            Assert.AreEqual(withParameter ? "36" : "22", reflectionConverter.Convert(22, typeof(string), 14, CultureInfo.InvariantCulture));
        }
示例#4
0
        public void ReflectionConverterShouldNotPassNullIntoContructorIfTargetTypeIsNotValueType()
        {
            var converter1 = new ReflectionConverter();

            Assert.AreEqual(null, (FromString)converter1.Convert(null, typeof(FromString), null, null));
        }