1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
using NUnit.Framework;
using System;
using System.Windows.Media.Converters;
using System.Windows.Media;
namespace MonoTests.System.Windows.Media {
[TestFixture]
public class MatrixValueSerializerTest {
const double DELTA = 0.000000001d;
void CheckMatrix (Matrix expected, Matrix actual)
{
Assert.AreEqual (expected.M11, actual.M11, DELTA);
Assert.AreEqual (expected.M12, actual.M12, DELTA);
Assert.AreEqual (expected.M21, actual.M21, DELTA);
Assert.AreEqual (expected.M22, actual.M22, DELTA);
Assert.AreEqual (expected.OffsetX, actual.OffsetX, DELTA);
Assert.AreEqual (expected.OffsetY, actual.OffsetY, DELTA);
}
[Test]
public void CanConvertFromString ()
{
var serializer = new MatrixValueSerializer ();
Assert.IsTrue (serializer.CanConvertFromString ("", null));
}
[Test]
public void CanConvertToString ()
{
var serializer = new MatrixValueSerializer ();
Assert.IsTrue (serializer.CanConvertToString (new Matrix (1, 2, 3, 4, 5 ,6), null));
Assert.IsFalse (serializer.CanConvertToString ("", null));
}
[Test]
public void ConvertFromString ()
{
var serializer = new MatrixValueSerializer ();
object obj = serializer.ConvertFromString ("1, 2, 3, 4, 5 ,6", null);
Assert.AreEqual (typeof (Matrix), obj.GetType ());
CheckMatrix (new Matrix (1, 2, 3, 4, 5, 6), (Matrix)obj);
}
[Test]
public void RoundTripConvert()
{
var serializer = new MatrixValueSerializer ();
var matrix = new Matrix (1.1, 2.2, 3.3, 4.4, 5.5, 6.6);
var obj = serializer.ConvertFromString (serializer.ConvertToString (matrix, null), null);
CheckMatrix (matrix, (Matrix)obj);
}
[Test]
[ExpectedException (typeof (FormatException))]
public void ConvertFromStringShouldThrowExceptionWhenStringHasInvalidFormat ()
{
var serializer = new MatrixValueSerializer ();
serializer.ConvertFromString ("a,b,c,d,e,f", null);
}
[Test]
[ExpectedException (typeof (NotSupportedException))]
public void ConvertFromStringShouldThrowExceptionWhenStringIsNull ()
{
var serializer = new MatrixValueSerializer ();
serializer.ConvertFromString (null, null);
}
[Test]
[ExpectedException (typeof (NotSupportedException))]
public void ConvertToStringShouldThrowExceptionWhenInvalidType ()
{
var serializer = new MatrixValueSerializer ();
serializer.ConvertToString (10, null);
}
}
}
|