Multi-culture implementation ValueSerializers, Parse and ToString for types from...
[mono.git] / mcs / class / WindowsBase / Test / System.Windows / RectValueSerializerTest.cs
1 using System;
2 using System.Windows;
3 using System.Windows.Converters;
4 using NUnit.Framework;
5
6 namespace MonoTests.System.Windows {
7
8         [TestFixture]
9         public class RectValueSerializerTest
10         {
11                 [Test]
12                 public void CanConvertFromString ()
13                 {
14                         var serializer = new RectValueSerializer ();
15                         Assert.IsTrue (serializer.CanConvertFromString ("", null));
16                 }
17
18                 [Test]
19                 public void CanConvertToString ()
20                 {
21                         var serializer = new RectValueSerializer ();
22                         Assert.IsTrue (serializer.CanConvertToString (new Rect (0, 0, 0, 0), null));
23                         Assert.IsFalse (serializer.CanConvertToString ("", null));
24                 }
25
26                 [Test]
27                 public void ConvertFromString ()
28                 {
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);
33                 }
34
35                 [Test]
36                 public void RoundTripConvert()
37                 { 
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);
42                 }
43
44                 [Test]
45                 [ExpectedException (typeof (FormatException))]
46                 public void ConvertFromStringShouldThrowExceptionWhenStringHasInvalidFormat ()
47                 {
48                         var serializer = new RectValueSerializer ();
49                         serializer.ConvertFromString ("a,b,c,d", null);
50                 }
51
52                 [Test]
53                 [ExpectedException (typeof (ArgumentNullException))]
54                 public void ConvertFromStringShouldThrowExceptionWhenStringIsNull ()
55                 {
56                         var serializer = new RectValueSerializer ();
57                         serializer.ConvertFromString (null, null);
58                 }
59
60                 [Test]
61                 [ExpectedException (typeof (NotSupportedException))]
62                 public void ConvertToStringShouldThrowExceptionWhenInvalidType ()
63                 {
64                         var serializer = new RectValueSerializer ();
65                         serializer.ConvertToString (10, null);
66                 }
67
68                 [Test]
69                 [ExpectedException (typeof (ArgumentException))]
70                 public void ConvertToStringShouldThrowExceptionWhenHeightOrWidthIsNegative ()
71                 {
72                         var serializer = new RectValueSerializer ();
73                         var result = serializer.ConvertFromString ("1,2,-1,-2", null);
74                 }
75         }
76
77 }