public void CreateInstance_NullArguments() { PaddingConverter c = new PaddingConverter(); try { c.CreateInstance(null, GetPropertiesTable(1, 1, 1, 1, 1)); Assert.Fail("#1"); } catch (ArgumentNullException ex) { } try { c.CreateInstance(GetTypeDescriptorContext(Padding.Empty), null); Assert.Fail("#2"); } catch (ArgumentNullException ex) { } }
public void PaddingConverter_CreateInstance_ValidPropertyValuesAll_ReturnsExpected(Padding instance, int all, Padding result) { var converter = new PaddingConverter(); var mockContext = new Mock <ITypeDescriptorContext>(MockBehavior.Strict); mockContext .Setup(c => c.Instance) .Returns(new ClassWithPadding { Padding = instance }); mockContext .Setup(c => c.PropertyDescriptor) .Returns(TypeDescriptor.GetProperties(typeof(ClassWithPadding))[0]); Padding padding = Assert.IsType <Padding>(converter.CreateInstance( mockContext.Object, new Dictionary <string, object> { { nameof(Padding.All), all }, { nameof(Padding.Left), 1 }, { nameof(Padding.Top), 2 }, { nameof(Padding.Right), 3 }, { nameof(Padding.Bottom), 4 } }) ); Assert.Equal(result, padding); }
public void PaddingConverter_CreateInstance_UnknownInstanceType_ReturnsExpected() { var converter = new PaddingConverter(); var mockContext = new Mock <ITypeDescriptorContext>(MockBehavior.Strict); mockContext .Setup(c => c.Instance) .Returns("abc"); mockContext .Setup(c => c.PropertyDescriptor) .Returns(TypeDescriptor.GetProperties(typeof(string))[0]); var propertyValues = new Dictionary <string, object> { { nameof(Padding.All), 1 }, { nameof(Padding.Left), 2 }, { nameof(Padding.Top), 2 }, { nameof(Padding.Right), 3 }, { nameof(Padding.Bottom), 4 }, }; Padding expected = new Padding(2, 2, 3, 4); Padding padding = Assert.IsType <Padding>(converter.CreateInstance(mockContext.Object, propertyValues)); Assert.Equal(expected, padding); }
public void PaddingConverter_CreateInstance_InvalidPropertyValueType_ThrowsArgumentException(IDictionary propertyValues) { var converter = new PaddingConverter(); var mockContext = new Mock <ITypeDescriptorContext>(MockBehavior.Strict); mockContext .Setup(c => c.Instance) .Returns(new ClassWithPadding { Padding = new Padding(1) }); mockContext .Setup(c => c.PropertyDescriptor) .Returns(TypeDescriptor.GetProperties(typeof(ClassWithPadding))[0]); Assert.Throws <ArgumentException>("propertyValues", () => converter.CreateInstance(mockContext.Object, propertyValues)); }
public void CreateInstance() { PaddingConverter c = new PaddingConverter(); Padding modified, expected; // Non-"All" Tests // ITypeDescriptorContext context = GetTypeDescriptorContext(new Padding(1, 2, 30, 40)); modified = (Padding)c.CreateInstance(context, GetPropertiesTable(-1, 1, 2, 30, 40)); expected = new Padding(1, 2, 30, 40); Assert.AreEqual(expected, modified, "NonAll_NoChange"); modified = (Padding)c.CreateInstance(context, GetPropertiesTable(-1, 111, 2, 30, 40)); expected = new Padding(111, 2, 30, 40); Assert.AreEqual(expected, modified, "NonAll_ChangeLeft"); modified = (Padding)c.CreateInstance(context, GetPropertiesTable(-1, 1, 222, 30, 40)); expected = new Padding(1, 222, 30, 40); Assert.AreEqual(expected, modified, "NonAll_ChangeTop"); modified = (Padding)c.CreateInstance(context, GetPropertiesTable(555, 1, 2, 30, 40)); expected = new Padding(555); Assert.AreEqual(expected, modified, "NonAll_ChangeAll"); // "All" tests // context = GetTypeDescriptorContext(new Padding(1)); modified = (Padding)c.CreateInstance(context, GetPropertiesTable(1, 1, 1, 1, 1)); expected = new Padding(1, 1, 1, 1); Assert.AreEqual(expected, modified, "All_NoChange"); modified = (Padding)c.CreateInstance(context, GetPropertiesTable(1, 111, 1, 1, 1)); expected = new Padding(111, 1, 1, 1); Assert.AreEqual(expected, modified, "All_ChangeLeft"); modified = (Padding)c.CreateInstance(context, GetPropertiesTable(1, 1, 222, 1, 1)); expected = new Padding(1, 222, 1, 1); Assert.AreEqual(expected, modified, "All_ChangeTop"); modified = (Padding)c.CreateInstance(context, GetPropertiesTable(555, 1, 1, 1, 1)); expected = new Padding(555); Assert.AreEqual(expected, modified, "All_ChangeAll"); }
public void PaddingConverter_CreateInstance_ValidPropertyValuesNullContext_ReturnsExpected() { var converter = new PaddingConverter(); Padding expected = new Padding(1, 2, 3, 4); Padding padding = Assert.IsType <Padding>(converter.CreateInstance( null, new Dictionary <string, object> { { nameof(Padding.All), expected.All }, { nameof(Padding.Left), expected.Left }, { nameof(Padding.Top), expected.Top }, { nameof(Padding.Right), expected.Right }, { nameof(Padding.Bottom), expected.Bottom } })); Assert.Equal(expected, padding); }
public void PaddingConverter_CreateInstance_InvalidInstanceType_ThrowsInvalidCastException() { var converter = new PaddingConverter(); var mockContext = new Mock <ITypeDescriptorContext>(MockBehavior.Strict); mockContext .Setup(c => c.Instance) .Returns("abc"); mockContext .Setup(c => c.PropertyDescriptor) .Returns(TypeDescriptor.GetProperties(typeof(string))[0]); var propertyValues = new Dictionary <string, object> { { nameof(Padding.All), 1 }, { nameof(Padding.Left), 2 }, { nameof(Padding.Top), 2 }, { nameof(Padding.Right), 3 }, { nameof(Padding.Bottom), 4 }, }; Assert.Throws <InvalidCastException>(() => converter.CreateInstance(mockContext.Object, propertyValues)); }
public void PaddingConverter_CreateInstance_NullPropertyValues_ThrowsArgumentNullException() { var converter = new PaddingConverter(); Assert.Throws <ArgumentNullException>("propertyValues", () => converter.CreateInstance(new Mock <ITypeDescriptorContext>(MockBehavior.Strict).Object, null)); }
public void PaddingConverter_CreateInstance_NullContext_ThrowsArgumentNullException() { var converter = new PaddingConverter(); Assert.Throws <ArgumentNullException>("context", () => converter.CreateInstance(null, new Dictionary <string, object>())); }