public void CanConvertTo () { TableLayoutSettingsTypeConverter c = new TableLayoutSettingsTypeConverter (); Assert.IsTrue (c.CanConvertTo (null, typeof (string)), "1"); Assert.IsFalse (c.CanConvertTo (null, typeof (int)), "2"); Assert.IsFalse (c.CanConvertTo (null, typeof (float)), "3"); Assert.IsFalse (c.CanConvertTo (null, typeof (object)), "4"); }
public void Roundtrip () { TableLayoutSettingsTypeConverter c = new TableLayoutSettingsTypeConverter (); object result; string sv = @"<?xml version=""1.0"" encoding=""utf-16""?><TableLayoutSettings>" + @"<Controls>" + @"<Control Name=""userNameLabel"" Row=""0"" RowSpan=""1"" Column=""0"" ColumnSpan=""1"" />" + @"<Control Name=""savePassword"" Row=""2"" RowSpan=""1"" Column=""1"" ColumnSpan=""1"" />" + @"<Control Name=""userName"" Row=""0"" RowSpan=""1"" Column=""1"" ColumnSpan=""1"" />" + @"<Control Name=""password"" Row=""1"" RowSpan=""1"" Column=""1"" ColumnSpan=""1"" />" + @"<Control Name=""passwordLabel"" Row=""1"" RowSpan=""1"" Column=""0"" ColumnSpan=""1"" />" + @"</Controls><Columns Styles=""AutoSize,0,Percent,100"" />" + @"<Rows Styles=""AutoSize,0,AutoSize,0,AutoSize,0"" />" + @"</TableLayoutSettings>"; result = c.ConvertFrom (null, null, sv); Assert.AreEqual (typeof (TableLayoutSettings), result.GetType(), "1"); TableLayoutSettings ts = (TableLayoutSettings)result; Assert.AreEqual (2, ts.ColumnStyles.Count, "2"); Assert.AreEqual (SizeType.AutoSize, ts.ColumnStyles[0].SizeType, "3"); Assert.AreEqual (0.0f, ts.ColumnStyles[0].Width, "4"); Assert.AreEqual (SizeType.Percent, ts.ColumnStyles[1].SizeType, "5"); Assert.AreEqual (100.0f, ts.ColumnStyles[1].Width, "6"); Assert.AreEqual (3, ts.RowStyles.Count, "7"); Assert.AreEqual (SizeType.AutoSize, ts.RowStyles[0].SizeType, "8"); Assert.AreEqual (0.0f, ts.RowStyles[0].Height, "9"); Assert.AreEqual (SizeType.AutoSize, ts.RowStyles[1].SizeType, "10"); Assert.AreEqual (0.0f, ts.RowStyles[1].Height, "11"); Assert.AreEqual (SizeType.AutoSize, ts.RowStyles[2].SizeType, "12"); Assert.AreEqual (0.0f, ts.RowStyles[2].Height, "13"); string rv = (string)c.ConvertTo (null, null, ts, typeof (string)); // We do not guarantee the order of <Controls>, but the length should be the same Assert.AreEqual (sv.Length, rv.Length, "roundtrip"); }
void ISerializable.GetObjectData (SerializationInfo si, StreamingContext context) { TableLayoutSettingsTypeConverter conv = new TableLayoutSettingsTypeConverter (); string text = conv.ConvertToInvariantString (this); si.AddValue ("SerializedString", text); }
// Ohh for a more recent version on NUnit, (/and addin) to do row test cases! private void ConvertFrom_Loop(CultureInfo culturePassedToConvertFrom) { TableLayoutSettingsTypeConverter c = new TableLayoutSettingsTypeConverter(); int i = 0; foreach (TestRow row in tests) { if ((row.Directions & Directions.From) == 0) { //Console.WriteLine("ConvertFrom_Loop skipping: " + row.Name); continue; } // String title = String.Format("#{0}, {1}", i, row.Name); try { TableLayoutSettings result = (TableLayoutSettings) c.ConvertFrom(null, culturePassedToConvertFrom, row.XmlContent); Assert_AreEqual(row.Settings, result, row.Name); title = null; } finally { if (title != null) Console.WriteLine("ConvertFrom_Loop row that failed ** : " + title); } ++i; } }
public void ConvertFrom_notCheckResults_Bad_NoNumericElement() { TableLayoutSettingsTypeConverter c = new TableLayoutSettingsTypeConverter(); try { // It's manually broken content, so it's ok to fail... c.ConvertFromInvariantString(XmlSettingsF_NoNumericElement); } catch (IndexOutOfRangeException) { // Both fail here. } }
public void ConvertFrom_notCheckResults_CommaDecimalPoint_RowDataFirst() { // The bug in MSFT's output mentioned above causes 99.9% to be written // culture sensitively as "99,9". // Test whether ConvertFrom crashes on reading such bad content. // TableLayoutSettingsTypeConverter c = new TableLayoutSettingsTypeConverter(); c.ConvertFromInvariantString(XmlSettingsEDecimalOneItemCommaDecimalPoint_RowDataFirst); }
public void ConvertFrom_notCheckResults_Empty() { TableLayoutSettingsTypeConverter c = new TableLayoutSettingsTypeConverter(); c.ConvertFromInvariantString(XmlSettingsEmpty); // Mono fails (reports problem with value in Enum.Parse). // This is valid content (as output both platforms) so it should work. }
public void ConvertFrom_notCheckResults() { TableLayoutSettingsTypeConverter c = new TableLayoutSettingsTypeConverter(); c.ConvertFromInvariantString(XmlSettingsB); c.ConvertFromInvariantString(XmlSettingsC); c.ConvertFromInvariantString(XmlSettingsD); c.ConvertFromInvariantString(XmlSettingsEDecimalOneItem); c.ConvertFromInvariantString(XmlSettingsF); }
public void ConvertFrom_NOT() { TableLayoutSettingsTypeConverter c = new TableLayoutSettingsTypeConverter(); try { c.ConvertFrom(9999); Assert.Fail("should have thrown -- " + "#1"); } catch (Exception ex) { Assert_IsInstanceOfType(typeof(NotSupportedException), ex, "ExType -- " + "#1"); } try { c.ConvertFrom(null); Assert.Fail("should have thrown -- " + "#2"); } catch (Exception ex) { Assert_IsInstanceOfType(typeof(NotSupportedException), ex, "ExType -- " + "#2"); } try { c.ConvertFrom(String.Empty); Assert.Fail("should have thrown -- " + "#3"); } catch (Exception ex) { Assert_IsInstanceOfType(typeof(global::System.Xml.XmlException), ex, "ExType -- " + "#3"); } }
private static void ConvertTo_WithCurrentCulture(CultureInfo culture, String expectedXml) { TableLayoutSettingsTypeConverter c = new TableLayoutSettingsTypeConverter(); String result; // TableLayoutSettings tls = CreateSettingsEDecimalOneItem(); CultureInfo previous = global::System.Threading.Thread.CurrentThread.CurrentCulture; global::System.Threading.Thread.CurrentThread.CurrentCulture = culture; try { result = c.ConvertToString(null, culture, tls); Assert.AreEqual(expectedXml, result, "Culture passed"); // result = c.ConvertToString(null, null, tls); Assert.AreEqual(expectedXml, result, "No culture passed"); // result = c.ConvertToInvariantString(tls); Assert.AreEqual(expectedXml, result, "Invariant"); } finally { global::System.Threading.Thread.CurrentThread.CurrentCulture = previous; } }
public void ConvertTo() { TableLayoutSettingsTypeConverter c = new TableLayoutSettingsTypeConverter(); TableLayoutSettings tls; String result; // tls = CreateSettingsEmpty(); result = c.ConvertToInvariantString(tls); Assert.AreEqual(XmlSettingsEmpty, result, "#1-empty"); // tls = CreateSettingsB(); result = c.ConvertToInvariantString(tls); Assert.AreEqual(XmlSettingsB, result, "#B"); // tls = CreateSettingsC(); result = c.ConvertToInvariantString(tls); Assert.AreEqual(XmlSettingsC, result, "#C"); // tls = CreateSettingsD(); result = c.ConvertToInvariantString(tls); Assert.AreEqual(XmlSettingsD, result, "#D"); // tls = CreateSettingsEDecimalOneItem(); result = c.ConvertToInvariantString(tls); Assert.AreEqual(XmlSettingsEDecimalOneItem, result, "#DDecimal"); // tls = CreateSettingsF(); result = c.ConvertToInvariantString(tls); Assert.AreEqual(XmlSettingsF, result, "#E"); }