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");
		}
		// Ohh for a more recent version on NUnit, (/and addin) to do row test cases!
		private void ConvertTo_Loop(CultureInfo culturePassedToConvertTo)
		{
			TableLayoutSettingsTypeConverter c = new TableLayoutSettingsTypeConverter();

			int i = 0;
			foreach (TestRow row in tests) {
				if ((row.Directions & Directions.To) == 0) {
					//Console.WriteLine("ConvertTo_Loop skipping: " + row.Name);
					continue;
				}
				//
				String title = String.Format("#{0}, {1}", i, row.Name);
				try {
					String result = (String)c.ConvertTo(null, culturePassedToConvertTo, row.Settings, typeof(String));
					Assert.AreEqual(row.XmlContent, result, row.Name);
					title = null;
				} finally {
					if (title != null)
						Console.WriteLine("ConvertTo_Loop row that failed ** : " + title);
				}
				++i;
			}
		}