3 using System.Windows.Converters;
6 namespace MonoTests.System.Windows {
9 public class RectValueSerializerTest
12 public void CanConvertFromString ()
14 var serializer = new RectValueSerializer ();
15 Assert.IsTrue (serializer.CanConvertFromString ("", null));
19 public void CanConvertToString ()
21 var serializer = new RectValueSerializer ();
22 Assert.IsTrue (serializer.CanConvertToString (new Rect (0, 0, 0, 0), null));
23 Assert.IsFalse (serializer.CanConvertToString ("", null));
27 public void ConvertFromString ()
29 var serializer = new RectValueSerializer ();
30 object obj = serializer.ConvertFromString ("3.14,4.15,5.16,6.17", null);
31 Assert.AreEqual (typeof (Rect), obj.GetType ());
32 Assert.AreEqual (new Rect (3.14, 4.15, 5.16, 6.17), obj);
36 public void RoundTripConvert()
38 var serializer = new RectValueSerializer ();
39 var rect = new Rect (1.234, 2.678, 3.123, 4.567);
40 var obj = serializer.ConvertFromString (serializer.ConvertToString (rect, null), null);
41 Assert.AreEqual (rect, obj);
45 [ExpectedException (typeof (FormatException))]
46 public void ConvertFromStringShouldThrowExceptionWhenStringHasInvalidFormat ()
48 var serializer = new RectValueSerializer ();
49 serializer.ConvertFromString ("a,b,c,d", null);
53 [ExpectedException (typeof (ArgumentNullException))]
54 public void ConvertFromStringShouldThrowExceptionWhenStringIsNull ()
56 var serializer = new RectValueSerializer ();
57 serializer.ConvertFromString (null, null);
61 [ExpectedException (typeof (NotSupportedException))]
62 public void ConvertToStringShouldThrowExceptionWhenInvalidType ()
64 var serializer = new RectValueSerializer ();
65 serializer.ConvertToString (10, null);
69 [ExpectedException (typeof (ArgumentException))]
70 public void ConvertToStringShouldThrowExceptionWhenHeightOrWidthIsNegative ()
72 var serializer = new RectValueSerializer ();
73 var result = serializer.ConvertFromString ("1,2,-1,-2", null);