Exemplo n.º 1
0
        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) { }
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 4
0
        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));
        }
Exemplo n.º 5
0
        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");
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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));
        }
Exemplo n.º 8
0
        public void PaddingConverter_CreateInstance_NullPropertyValues_ThrowsArgumentNullException()
        {
            var converter = new PaddingConverter();

            Assert.Throws <ArgumentNullException>("propertyValues", () => converter.CreateInstance(new Mock <ITypeDescriptorContext>(MockBehavior.Strict).Object, null));
        }
Exemplo n.º 9
0
        public void PaddingConverter_CreateInstance_NullContext_ThrowsArgumentNullException()
        {
            var converter = new PaddingConverter();

            Assert.Throws <ArgumentNullException>("context", () => converter.CreateInstance(null, new Dictionary <string, object>()));
        }