summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Core.UnitTests/SizeTests.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.Core.UnitTests/SizeTests.cs')
-rw-r--r--Xamarin.Forms.Core.UnitTests/SizeTests.cs93
1 files changed, 93 insertions, 0 deletions
diff --git a/Xamarin.Forms.Core.UnitTests/SizeTests.cs b/Xamarin.Forms.Core.UnitTests/SizeTests.cs
new file mode 100644
index 00000000..d845d615
--- /dev/null
+++ b/Xamarin.Forms.Core.UnitTests/SizeTests.cs
@@ -0,0 +1,93 @@
+using NUnit.Framework;
+
+
+namespace Xamarin.Forms.Core.UnitTests
+{
+ [TestFixture]
+ public class SizeTests : BaseTestFixture
+ {
+ [Test]
+ public void TestSizeIsZero ()
+ {
+ var size = new Size ();
+
+ Assert.True (size.IsZero);
+
+ size = new Size (10, 10);
+
+ Assert.False (size.IsZero);
+ }
+
+ [Test]
+ public void TestSizeAdd ()
+ {
+ var size1 = new Size (10, 10);
+ var size2 = new Size (20, 20);
+
+ var result = size1 + size2;
+
+ Assert.AreEqual (new Size (30, 30), result);
+ }
+
+ [Test]
+ public void TestSizeSubtract ()
+ {
+ var size1 = new Size (10, 10);
+ var size2 = new Size (2, 2);
+
+ var result = size1 - size2;
+
+ Assert.AreEqual (new Size (8, 8), result);
+ }
+
+ [Test]
+ public void TestPointFromSize ([Range(0, 2)] double x, [Range(0, 2)] double y)
+ {
+ var size = new Size (x, y);
+ var point = (Point) size;
+
+ Assert.AreEqual (x, point.X);
+ Assert.AreEqual (y, point.Y);
+ }
+
+ [Test]
+ public void HashCode ([Range(3, 5)] double w1, [Range(3, 5)] double h1, [Range(3, 5)] double w2, [Range(3, 5)] double h2)
+ {
+ bool result = new Size (w1, h1).GetHashCode () == new Size (w2, h2).GetHashCode ();
+
+ if (w1 == w2 && h1 == h2)
+ Assert.True (result);
+ else
+ Assert.False (result);
+ }
+
+ [Test]
+ public void Equality ()
+ {
+ Assert.False (new Size ().Equals (null));
+ Assert.False (new Size ().Equals ("Size"));
+ Assert.True (new Size (2, 3).Equals (new Size (2, 3)));
+
+ Assert.True (new Size (2, 3) == new Size (2, 3));
+ Assert.True (new Size (2, 3) != new Size (3, 2));
+ }
+
+ [Test]
+ [TestCase(0, 0, ExpectedResult = "{Width=0 Height=0}")]
+ [TestCase(1, 5, ExpectedResult = "{Width=1 Height=5}")]
+ public string TestToString (double w, double h)
+ {
+ return new Size (w, h).ToString ();
+ }
+
+ [Test]
+ public void MultiplyByScalar ([Range (12, 15)] int w, [Range (12, 15)] int h, [Values (0.0, 2.0, 7.0, 0.25)] double scalar)
+ {
+ var size = new Size (w, h);
+ var result = size * scalar;
+
+ Assert.AreEqual (w * scalar, result.Width);
+ Assert.AreEqual (h * scalar, result.Height);
+ }
+ }
+}