maui-linux/Xamarin.Forms.Core.UnitTests/SizeTests.cs

94 строки
2.0 KiB
C#

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);
}
}
}