003e9fc0505f5487032772b4dfd28068d71ff3f9
[mono.git] / mcs / class / WindowsBase / Test / System.Windows / SizeValueSerializerTest.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 SizeValueSerializerTest
10         {
11                 [Test]
12                 public void CanConvertFromString ()
13                 {
14                         var serializer = new SizeValueSerializer ();
15                         Assert.IsTrue (serializer.CanConvertFromString ("", null));
16                 }
17
18                 [Test]
19                 public void CanConvertToString ()
20                 {
21                         var serializer = new SizeValueSerializer ();
22                         Assert.IsTrue (serializer.CanConvertToString (new Size (0, 0), null));
23                         Assert.IsFalse (serializer.CanConvertToString ("", null));
24                 }
25
26                 [Test]
27                 public void ConvertFromString ()
28                 {
29                         var serializer = new SizeValueSerializer ();
30                         object obj = serializer.ConvertFromString ("3,4", null);
31                         Assert.AreEqual (typeof (Size), obj.GetType ());
32                         Assert.AreEqual (new Size (3, 4), obj);
33                 }
34
35                 [Test]
36                 public void RoundTripConvert()
37                 {
38                         var serializer = new SizeValueSerializer ();
39                         var size = new Size (1.234, 5.678);
40                         var obj = serializer.ConvertFromString (serializer.ConvertToString (size, null), null);
41                         Assert.AreEqual (size, obj);
42                 }
43
44                 [Test]
45                 [ExpectedException (typeof (FormatException))]
46                 public void ConvertFromStringShouldThrowExceptionWhenStringHasInvalidFormat ()
47                 {
48                         var serializer = new SizeValueSerializer ();
49                         serializer.ConvertFromString ("a,b", null);
50                 }
51
52                 [Test]
53                 [ExpectedException (typeof (ArgumentNullException))]
54                 public void ConvertFromStringShouldThrowExceptionWhenStringIsNull ()
55                 {
56                         var serializer = new SizeValueSerializer ();
57                         serializer.ConvertFromString (null, null);
58                 }
59
60                 [Test]
61                 [ExpectedException (typeof (NotSupportedException))]
62                 public void ConvertToStringShouldThrowExceptionWhenInvalidType ()
63                 {
64                         var serializer = new SizeValueSerializer ();
65                         serializer.ConvertToString (10, null);
66                 }
67
68                 [Test]
69                 [ExpectedException (typeof (ArgumentException))]
70                 public void ConvertToStringShouldThrowExceptionWhenHeightOrWidthIsNegative ()
71                 {
72                         var serializer = new SizeValueSerializer ();
73                         var result = serializer.ConvertFromString ("-1,-4", null);
74                 }
75         }
76
77 }