9134aec4b47c67cb6f1198a52a4a826691e684b0
[mono.git] / mcs / class / WindowsBase / Test / System.Windows.Media / MatrixConverterTest.cs
1 using NUnit.Framework;
2 using System;
3 using System.Windows.Media;
4
5 namespace MonoTests.System.Windows.Media {
6
7         [TestFixture]
8         public class MatrixConverterTest {
9                 const double DELTA = 0.000000001d;
10
11                 void CheckMatrix (Matrix expected, Matrix actual)
12                 {
13                         Assert.AreEqual (expected.M11, actual.M11, DELTA);
14                         Assert.AreEqual (expected.M12, actual.M12, DELTA);
15                         Assert.AreEqual (expected.M21, actual.M21, DELTA);
16                         Assert.AreEqual (expected.M22, actual.M22, DELTA);
17                         Assert.AreEqual (expected.OffsetX, actual.OffsetX, DELTA);
18                         Assert.AreEqual (expected.OffsetY, actual.OffsetY, DELTA);
19                 }
20
21                 [Test]
22                 public void CanConvertFrom ()
23                 {
24                         var conv = new MatrixConverter ();
25                         Assert.IsTrue (conv.CanConvertFrom (typeof (string)));
26                         Assert.IsFalse (conv.CanConvertFrom (typeof (Matrix)));
27                 }
28
29                 [Test]
30                 public void CanConvertTo ()
31                 {
32                         var conv = new MatrixConverter ();
33                         Assert.IsTrue (conv.CanConvertTo (typeof (string)));
34                         Assert.IsFalse (conv.CanConvertTo (typeof (Matrix)));
35                 }
36
37                 [Test]
38                 public void ConvertFrom ()
39                 {
40                         var conv = new MatrixConverter ();
41                         object obj = conv.ConvertFrom ("1, 2, 3, 4, 5, 6");
42                         Assert.AreEqual (typeof (Matrix), obj.GetType ());
43                         CheckMatrix (new Matrix (1, 2, 3, 4, 5, 6), (Matrix)obj);
44                 }
45
46                 [Test]
47                 [ExpectedException (typeof (NotSupportedException))]
48                 public void ConvertFromInvalidType ()
49                 {
50                         var conv = new MatrixConverter ();
51                         conv.ConvertFrom (new Matrix (10, 20, 30, 40, 50, 60));
52                 }
53
54                 [Test]
55                 public void ConvertTo ()
56                 {
57                         var conv = new MatrixConverter ();
58                         var matrix = new Matrix (1, 2, 3, 4, 5, 6);
59                         object obj = conv.ConvertTo (matrix, typeof (string));
60                         Assert.AreEqual (typeof (string), obj.GetType ());
61                         Assert.AreEqual ("1,2,3,4,5,6", (string)obj);
62                 }
63         }
64 }