public void CreateInstance() { MarginsConverter mc = new MarginsConverter(); MyTypeDescriptorContext context = new MyTypeDescriptorContext(); IDictionary values = new Dictionary <string, int>(); values.Add("Left", 1); values.Add("Right", 2); values.Add("Top", 3); Assert.Throws <ArgumentException>(() => mc.CreateInstance(context, values)); values.Add("Bottom", 4); object result = mc.CreateInstance(context, values); Assert.NotNull(result); Assert.IsType <Margins>(result); Margins margins = result as Margins; Assert.Equal(1, margins.Left); Assert.Equal(2, margins.Right); Assert.Equal(3, margins.Top); Assert.Equal(4, margins.Bottom); }
public void ConvertTo() { MarginsConverter mc = new MarginsConverter(); Guid guid = Guid.NewGuid(); CultureInfo culture = CultureInfo.InvariantCulture; Margins margins = new Margins() { Left = 1, Right = 2, Top = 3, Bottom = 4 }; // try once with then once without context for (var context = new MyTypeDescriptorContext(); context != null; context = null) { Assert.Equal("1;2;3;4", mc.ConvertTo(context, culture, "1;2;3;4", typeof(string))); object converted = mc.ConvertTo(context, culture, margins, typeof(string)); Assert.IsType <string>(converted); Assert.Equal(',', culture.TextInfo.ListSeparator[0]); Assert.Equal("1, 2, 3, 4", converted); converted = mc.ConvertTo(context, culture, margins, typeof(InstanceDescriptor)); Assert.IsType <InstanceDescriptor>(converted); Assert.Equal(new object[] { 1, 2, 3, 4 }, ((InstanceDescriptor)converted).Arguments); Assert.Throws <NotSupportedException>(() => mc.ConvertTo(context, culture, new object(), typeof(object))); Assert.Throws <NotSupportedException>(() => mc.ConvertTo(context, culture, 12, typeof(int))); Assert.Throws <NotSupportedException>(() => mc.ConvertTo(context, culture, guid, typeof(Guid))); } }
public void CanConvertTo() { MarginsConverter mc = new MarginsConverter(); // try once with then once without context for (var context = new MyTypeDescriptorContext(); context != null; context = null) { Assert.True(mc.CanConvertTo(context, typeof(string))); Assert.False(mc.CanConvertTo(context, typeof(Guid))); Assert.False(mc.CanConvertTo(context, typeof(object))); Assert.False(mc.CanConvertTo(context, typeof(int))); } }
public void ConvertFrom_Throws() { MarginsConverter mc = new MarginsConverter(); CultureInfo culture = CultureInfo.InvariantCulture; // try once with then once without context for (var context = new MyTypeDescriptorContext(); context != null; context = null) { Assert.Throws <NotSupportedException>(() => mc.ConvertFrom(context, null, null)); Assert.Throws <NotSupportedException>(() => mc.ConvertFrom(context, culture, null)); Assert.Throws <NotSupportedException>(() => mc.ConvertFrom(context, culture, Guid.NewGuid())); AssertExtensions.Throws <ArgumentException, Exception>(() => mc.ConvertFrom(context, null, "wrong string format")); AssertExtensions.Throws <ArgumentException, Exception>(() => mc.ConvertFrom(context, culture, "wrong string format")); } }
public void ConvertFrom() { MarginsConverter mc = new MarginsConverter(); CultureInfo culture = CultureInfo.InvariantCulture; // try once with then once without context for (var context = new MyTypeDescriptorContext(); context != null; context = null) { object result; Assert.Equal(',', culture.TextInfo.ListSeparator[0]); AssertExtensions.Throws <ArgumentException, Exception>(() => mc.ConvertFrom(context, culture, "1;2;3;4")); result = mc.ConvertFrom(context, culture, "1,2,3,4"); Assert.IsType <Margins>(result); Margins margins = result as Margins; Assert.Equal(1, margins.Left); Assert.Equal(2, margins.Right); Assert.Equal(3, margins.Top); Assert.Equal(4, margins.Bottom); } }