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)); }
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)); }
public void ReflectionConverterShouldNotPassNullIntoContructorIfTargetTypeIsNotValueType() { var converter1 = new ReflectionConverter(); Assert.AreEqual(null, (FromString)converter1.Convert(null, typeof(FromString), null, null)); }