A cross-platform UI framework for .NET
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

58 lines
1.6 KiB

using Xunit;
namespace Avalonia.Visuals.UnitTests
{
public class RectTests
{
[Fact]
public void Union_Should_Return_Correct_Value_For_Intersecting_Rects()
{
var result = new Rect(0, 0, 100, 100).Union(new Rect(50, 50, 100, 100));
Assert.Equal(new Rect(0, 0, 150, 150), result);
}
[Fact]
public void Union_Should_Return_Correct_Value_For_NonIntersecting_Rects()
{
var result = new Rect(0, 0, 100, 100).Union(new Rect(150, 150, 100, 100));
Assert.Equal(new Rect(0, 0, 250, 250), result);
}
[Fact]
public void Union_Should_Ignore_Empty_This_rect()
{
var result = new Rect(0, 0, 0, 0).Union(new Rect(150, 150, 100, 100));
Assert.Equal(new Rect(150, 150, 100, 100), result);
}
[Fact]
public void Union_Should_Ignore_Empty_Other_rect()
{
var result = new Rect(0, 0, 100, 100).Union(new Rect(150, 150, 0, 0));
Assert.Equal(new Rect(0, 0, 100, 100), result);
}
[Fact]
public void Normalize_Should_Reverse_Negative_Size()
{
var result = new Rect(new Point(100, 100), new Point(0, 0)).Normalize();
Assert.Equal(new Rect(0, 0, 100, 100), result);
}
[Fact]
public void Normalize_Should_Make_Invalid_Rects_Empty()
{
var result = new Rect(
double.NegativeInfinity, double.PositiveInfinity,
double.PositiveInfinity, double.PositiveInfinity)
.Normalize();
Assert.Equal(Rect.Empty, result);
}
}
}