예제 #1
0
		public void CanConvertTo ()
		{
			PaddingConverter c = new PaddingConverter ();

			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");
		}
예제 #2
0
		public void ConvertFrom ()
		{
			string listSeparator = CultureInfo.CurrentCulture.TextInfo.ListSeparator;
			PaddingConverter pc = new PaddingConverter ();
			Assert.AreEqual (new Padding (1, 2, 3, 4), pc.ConvertFrom (
				string.Format ("1{0} 2{0} 3{0} 4", listSeparator)), "A1");
			Assert.AreEqual (new Padding (1, 2, 3, 4), pc.ConvertFrom (
				string.Format ("1{0}2{0}3{0}4", listSeparator)), "A2");
			Assert.AreEqual (new Padding (1, 2, 3, 4), pc.ConvertFrom (
				string.Format ("1{0}  2{0}  3{0}  4", listSeparator)), "A3");
			Assert.AreEqual (new Padding (1), pc.ConvertFrom (string.Format (
				"1{0} 1{0} 1{0} 1", listSeparator)), "A4");
			Assert.AreEqual (new Padding (), pc.ConvertFrom (string.Format (
				"0{0} 0{0} 0{0} 0", listSeparator)), "A5");
		}
예제 #3
0
		public void ConvertTo ()
		{
			PaddingConverter pc = new PaddingConverter ();

			Assert.AreEqual (string.Format (CultureInfo.CurrentCulture,
				"1{0} 2{0} 3{0} 4", CultureInfo.CurrentCulture.TextInfo.ListSeparator),
				(string) pc.ConvertTo (new Padding (1, 2, 3, 4), typeof (string)), "A1");
			Assert.AreEqual (string.Format (CultureInfo.CurrentCulture,
				"1{0} 1{0} 1{0} 1", CultureInfo.CurrentCulture.TextInfo.ListSeparator),
				(string) pc.ConvertTo (new Padding (1), typeof (string)), "A2");
			Assert.AreEqual (string.Format (CultureInfo.CurrentCulture,
				"0{0} 0{0} 0{0} 0", CultureInfo.CurrentCulture.TextInfo.ListSeparator),
				(string) pc.ConvertTo (Padding.Empty, typeof (string)), "A3");
		}
예제 #4
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) { }
		}
예제 #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");
		}
예제 #6
0
		public void ConvertTo_InstanceDescriptor()
		{
			PaddingConverter c = new PaddingConverter();
			Padding originalPadding = new Padding (1, 10, 5, 9);
			InstanceDescriptor instanceDescriptor = (InstanceDescriptor) c.ConvertTo (originalPadding, 
										  typeof (InstanceDescriptor));
			Padding resultedPadding = (Padding) instanceDescriptor.Invoke ();
			Assert.AreEqual (originalPadding, resultedPadding, "#1");

			originalPadding = new Padding (99);
			instanceDescriptor = (InstanceDescriptor) c.ConvertTo (originalPadding, 
										  typeof (InstanceDescriptor));
			resultedPadding = (Padding) instanceDescriptor.Invoke ();
			Assert.AreEqual (originalPadding, resultedPadding, "#2");
		}
예제 #7
0
		public void CreateInstanceSupported ()
		{
			PaddingConverter pc = new PaddingConverter ();
			
			Assert.AreEqual (true, pc.GetCreateInstanceSupported (null), "A1");
			Assert.AreEqual (true, pc.GetPropertiesSupported (null), "A2");
		}
예제 #8
0
		private Padding RoundTripPadding (Padding p)
		{
			PaddingConverter pc = new PaddingConverter ();
			
			string s = (string)pc.ConvertTo (p, typeof (string));
			return (Padding)pc.ConvertFrom (s);
		}