public void GetCreateInstanceSupported() { MarginsConverter mc = new MarginsConverter(); Assert.True(mc.GetCreateInstanceSupported(null)); Assert.True(mc.GetCreateInstanceSupported(new MyTypeDescriptorContext())); }
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))); } }
/// <summary> /// Extends ConvertTo so that methods that return a specific type object given a Type parameter can be /// used as generic method and casting is not required. /// <example> /// marginsconverter.ConvertTo<int>(context, culture, value); /// </example> /// </summary> public static T ConvertTo <T>(this MarginsConverter marginsconverter, System.ComponentModel.ITypeDescriptorContext context, System.Globalization.CultureInfo culture, Object value) { if (marginsconverter == null) { throw new ArgumentNullException("marginsconverter"); } return((T)marginsconverter.ConvertTo(context, culture, value, typeof(T))); }
/// <summary> /// Extends ConvertTo so that methods that return a specific type object given a Type parameter can be /// used as generic method and casting is not required. /// <example> /// typeconverter.ConvertTo<int>(value); /// </example> /// </summary> public static T ConvertTo <T>(this MarginsConverter typeconverter, Object value) { if (typeconverter == null) { throw new ArgumentNullException("typeconverter"); } return((T)typeconverter.ConvertTo(value, typeof(T))); }
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); } }
public BcPrintDocument(AxBarCodeWiz bc, BcProject project) { this.bc = bc; DefaultPageSettings = project.pageSettings; table = project.table; data = project.data; project.state.ApplyState(bc); xDist = project.layout.xDist; yDist = project.layout.yDist; title = project.layout.title; titleFont = project.layout.titleFont; printTitleOnce = project.layout.printTitleOnce; bs = new BindingSource(); bs.DataSource = table; bs.Sort = data.sort; MarginsConverter mc = new MarginsConverter(); xDist = (float)PrinterUnitConvert.Convert(xDist * 10, PrinterUnit.TenthsOfAMillimeter, PrinterUnit.Display); yDist = (float)PrinterUnitConvert.Convert(yDist * 10, PrinterUnit.TenthsOfAMillimeter, PrinterUnit.Display); }