mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2025-12-26 15:57:56 +01:00
Remove the Rectangle tests
This commit is contained in:
@@ -1,468 +0,0 @@
|
||||
namespace Terminal.Gui.TypeTests;
|
||||
|
||||
public class RectangleTests
|
||||
{
|
||||
[Theory]
|
||||
|
||||
// Empty
|
||||
[InlineData (
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
)]
|
||||
[InlineData (
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
-1,
|
||||
0,
|
||||
2,
|
||||
0
|
||||
)]
|
||||
[InlineData (
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
-1,
|
||||
0,
|
||||
2
|
||||
)]
|
||||
[InlineData (
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
-1,
|
||||
-1,
|
||||
2,
|
||||
2
|
||||
)]
|
||||
// Zero location, Size of 1
|
||||
[InlineData (
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1
|
||||
)]
|
||||
[InlineData (
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
0,
|
||||
-1,
|
||||
0,
|
||||
3,
|
||||
1
|
||||
)]
|
||||
[InlineData (
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
-1,
|
||||
1,
|
||||
3
|
||||
)]
|
||||
[InlineData (
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
-1,
|
||||
-1,
|
||||
3,
|
||||
3
|
||||
)]
|
||||
|
||||
// Positive location, Size of 1
|
||||
[InlineData (
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
)]
|
||||
[InlineData (
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
3,
|
||||
1
|
||||
)]
|
||||
[InlineData (
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
0,
|
||||
1,
|
||||
3
|
||||
)]
|
||||
[InlineData (
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
3,
|
||||
3
|
||||
)]
|
||||
public void Inflate (
|
||||
int x,
|
||||
int y,
|
||||
int width,
|
||||
int height,
|
||||
int inflateWidth,
|
||||
int inflateHeight,
|
||||
int expectedX,
|
||||
int exptectedY,
|
||||
int expectedWidth,
|
||||
int expectedHeight
|
||||
)
|
||||
{
|
||||
var rect = new Rectangle (x, y, width, height);
|
||||
|
||||
rect.Inflate (inflateWidth, inflateHeight);
|
||||
|
||||
Assert.Equal (expectedWidth, rect.Width);
|
||||
Assert.Equal (expectedHeight, rect.Height);
|
||||
Assert.Equal (expectedX, rect.X);
|
||||
Assert.Equal (exptectedY, rect.Y);
|
||||
|
||||
// Use the other overload (Size)
|
||||
rect = new Rectangle (x, y, width, height);
|
||||
|
||||
rect.Inflate (new Size (inflateWidth, inflateHeight));
|
||||
|
||||
Assert.Equal (expectedWidth, rect.Width);
|
||||
Assert.Equal (expectedHeight, rect.Height);
|
||||
Assert.Equal (expectedX, rect.X);
|
||||
Assert.Equal (exptectedY, rect.Y);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Negative_X_Y_Positions ()
|
||||
{
|
||||
var rect = new Rectangle (-10, -5, 100, 50);
|
||||
int yCount = 0, xCount = 0, yxCount = 0;
|
||||
|
||||
for (int line = rect.Y; line < rect.Y + rect.Height; line++)
|
||||
{
|
||||
yCount++;
|
||||
xCount = 0;
|
||||
|
||||
for (int col = rect.X; col < rect.X + rect.Width; col++)
|
||||
{
|
||||
xCount++;
|
||||
yxCount++;
|
||||
}
|
||||
}
|
||||
|
||||
Assert.Equal (yCount, rect.Height);
|
||||
Assert.Equal (xCount, rect.Width);
|
||||
Assert.Equal (yxCount, rect.Height * rect.Width);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Positive_X_Y_Positions ()
|
||||
{
|
||||
var rect = new Rectangle (10, 5, 100, 50);
|
||||
int yCount = 0, xCount = 0, yxCount = 0;
|
||||
|
||||
for (int line = rect.Y; line < rect.Y + rect.Height; line++)
|
||||
{
|
||||
yCount++;
|
||||
xCount = 0;
|
||||
|
||||
for (int col = rect.X; col < rect.X + rect.Width; col++)
|
||||
{
|
||||
xCount++;
|
||||
yxCount++;
|
||||
}
|
||||
}
|
||||
|
||||
Assert.Equal (yCount, rect.Height);
|
||||
Assert.Equal (xCount, rect.Width);
|
||||
Assert.Equal (yxCount, rect.Height * rect.Width);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Rect_Contains ()
|
||||
{
|
||||
var rect = new Rectangle (0, 0, 3, 3);
|
||||
Assert.True (rect.Contains (new Point (1, 1)));
|
||||
Assert.True (rect.Contains (new Point (1, 2)));
|
||||
Assert.True (rect.Contains (new Point (2, 1)));
|
||||
Assert.True (rect.Contains (new Point (2, 2)));
|
||||
|
||||
Assert.False (rect.Contains (new Point (-1, 1)));
|
||||
Assert.False (rect.Contains (new Point (1, -1)));
|
||||
Assert.False (rect.Contains (new Point (3, 2)));
|
||||
Assert.False (rect.Contains (new Point (2, 3)));
|
||||
Assert.False (rect.Contains (new Point (3, 3)));
|
||||
|
||||
Assert.True (rect.Contains (new Rectangle (1, 1, 2, 2)));
|
||||
Assert.True (rect.Contains (new Rectangle (1, 2, 2, 1)));
|
||||
Assert.True (rect.Contains (new Rectangle (2, 1, 1, 2)));
|
||||
Assert.True (rect.Contains (new Rectangle (2, 2, 1, 1)));
|
||||
Assert.True (rect.Contains (new Rectangle (0, 0, 3, 3)));
|
||||
|
||||
Assert.False (rect.Contains (new Rectangle (-1, 1, 3, 3)));
|
||||
Assert.False (rect.Contains (new Rectangle (1, -1, 3, 3)));
|
||||
Assert.False (rect.Contains (new Rectangle (3, 2, 3, 3)));
|
||||
Assert.False (rect.Contains (new Rectangle (2, 3, 3, 3)));
|
||||
Assert.False (rect.Contains (new Rectangle (3, 3, 3, 3)));
|
||||
|
||||
Assert.True (rect.Contains (1, 1));
|
||||
Assert.True (rect.Contains (1, 2));
|
||||
Assert.True (rect.Contains (2, 1));
|
||||
Assert.True (rect.Contains (2, 2));
|
||||
|
||||
Assert.False (rect.Contains (-1, 1));
|
||||
Assert.False (rect.Contains (1, -1));
|
||||
Assert.False (rect.Contains (3, 2));
|
||||
Assert.False (rect.Contains (2, 3));
|
||||
Assert.False (rect.Contains (3, 3));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Rect_Equals ()
|
||||
{
|
||||
var rect1 = new Rectangle ();
|
||||
var rect2 = new Rectangle ();
|
||||
Assert.Equal (rect1, rect2);
|
||||
|
||||
rect1 = new Rectangle (1, 2, 3, 4);
|
||||
rect2 = new Rectangle (1, 2, 3, 4);
|
||||
Assert.Equal (rect1, rect2);
|
||||
|
||||
rect1 = new Rectangle (1, 2, 3, 4);
|
||||
rect2 = new Rectangle (-1, 2, 3, 4);
|
||||
Assert.NotEqual (rect1, rect2);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Rect_New ()
|
||||
{
|
||||
var rect = new Rectangle ();
|
||||
Assert.True (rect.IsEmpty);
|
||||
|
||||
rect = new Rectangle (new Point (), new Size ());
|
||||
Assert.True (rect.IsEmpty);
|
||||
|
||||
rect = new Rectangle (1, 2, 3, 4);
|
||||
Assert.False (rect.IsEmpty);
|
||||
|
||||
rect = new Rectangle (-1, -2, 3, 4);
|
||||
Assert.False (rect.IsEmpty);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Rect_SetsValue ()
|
||||
{
|
||||
var rect = new Rectangle { X = 0, Y = 0 };
|
||||
Assert.True (rect.IsEmpty);
|
||||
|
||||
rect = new Rectangle { X = -1, Y = -2 };
|
||||
Assert.False (rect.IsEmpty);
|
||||
|
||||
rect = new Rectangle { Width = 3, Height = 4 };
|
||||
Assert.False (rect.IsEmpty);
|
||||
|
||||
rect = new Rectangle { X = -1, Y = -2, Width = 3, Height = 4 };
|
||||
Assert.False (rect.IsEmpty);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Union_EmptyRectangles ()
|
||||
{
|
||||
var r1 = new Rectangle (0, 0, 0, 0);
|
||||
var r2 = new Rectangle (1, 1, 0, 0);
|
||||
Rectangle result = Rectangle.Union (r1, r2);
|
||||
Assert.Equal (new Rectangle (0, 0, 1, 1), result);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Union_NegativeCoords ()
|
||||
{
|
||||
// arrange
|
||||
var rect1 = new Rectangle (-2, -2, 4, 4);
|
||||
var rect2 = new Rectangle (-1, -1, 5, 5);
|
||||
|
||||
// act
|
||||
Rectangle result = Rectangle.Union (rect1, rect2);
|
||||
|
||||
// assert
|
||||
Assert.Equal (new Rectangle (-2, -2, 6, 6), result);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Union_PositiveCoords ()
|
||||
{
|
||||
var r1 = new Rectangle (0, 0, 2, 2);
|
||||
var r2 = new Rectangle (1, 1, 2, 2);
|
||||
Rectangle result = Rectangle.Union (r1, r2);
|
||||
Assert.Equal (new Rectangle (0, 0, 3, 3), result);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Union_RectangleAHasNegativeCoordinates_ReturnsCombinedRectangle ()
|
||||
{
|
||||
// arrange
|
||||
var rect1 = new Rectangle (-2, -2, 5, 5);
|
||||
var rect2 = new Rectangle (3, 3, 4, 4);
|
||||
|
||||
// act
|
||||
Rectangle result = Rectangle.Union (rect1, rect2);
|
||||
|
||||
// assert
|
||||
Assert.Equal (new Rectangle (-2, -2, 9, 9), result);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Union_RectangleAIsLarger_ReturnsA ()
|
||||
{
|
||||
// arrange
|
||||
var rect1 = new Rectangle (1, 1, 6, 6);
|
||||
var rect2 = new Rectangle (2, 2, 3, 3);
|
||||
|
||||
// act
|
||||
Rectangle result = Rectangle.Union (rect1, rect2);
|
||||
|
||||
// assert
|
||||
Assert.Equal (new Rectangle (1, 1, 6, 6), result);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Union_RectangleBIsLarger_ReturnsB ()
|
||||
{
|
||||
// arrange
|
||||
var rect1 = new Rectangle (1, 1, 3, 3);
|
||||
var rect2 = new Rectangle (2, 2, 6, 6);
|
||||
|
||||
// act
|
||||
Rectangle result = Rectangle.Union (rect1, rect2);
|
||||
|
||||
// assert
|
||||
Assert.Equal (new Rectangle (1, 1, 7, 7), result);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Union_RectanglesDoNotOverlap_ReturnsCombinedRectangle ()
|
||||
{
|
||||
// arrange
|
||||
var rect1 = new Rectangle (1, 1, 3, 3);
|
||||
var rect2 = new Rectangle (5, 5, 3, 3);
|
||||
|
||||
// act
|
||||
Rectangle result = Rectangle.Union (rect1, rect2);
|
||||
|
||||
// assert
|
||||
Assert.Equal (new Rectangle (1, 1, 7, 7), result);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Union_RectanglesOverlap_ReturnsCombinedRectangle ()
|
||||
{
|
||||
// arrange
|
||||
var rect1 = new Rectangle (1, 1, 3, 3);
|
||||
var rect2 = new Rectangle (2, 2, 3, 3);
|
||||
|
||||
// act
|
||||
Rectangle result = Rectangle.Union (rect1, rect2);
|
||||
|
||||
// assert
|
||||
Assert.Equal (new Rectangle (1, 1, 4, 4), result);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Union_RectanglesTouchHorizontally_ReturnsCombinedRectangle ()
|
||||
{
|
||||
// arrange
|
||||
var rect1 = new Rectangle (1, 1, 3, 3);
|
||||
var rect2 = new Rectangle (4, 2, 3, 3);
|
||||
|
||||
// act
|
||||
Rectangle result = Rectangle.Union (rect1, rect2);
|
||||
|
||||
// assert
|
||||
Assert.Equal (new Rectangle (1, 1, 6, 4), result);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Union_RectanglesTouchVertically_ReturnsCombinedRectangle ()
|
||||
{
|
||||
// arrange
|
||||
var rect1 = new Rectangle (1, 1, 3, 3);
|
||||
var rect2 = new Rectangle (2, 4, 3, 3);
|
||||
|
||||
// act
|
||||
Rectangle result = Rectangle.Union (rect1, rect2);
|
||||
|
||||
// assert
|
||||
Assert.Equal (new Rectangle (1, 1, 4, 6), result);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Union_SameRectangle ()
|
||||
{
|
||||
var r1 = new Rectangle (0, 0, 2, 2);
|
||||
var r2 = new Rectangle (0, 0, 2, 2);
|
||||
Rectangle result = Rectangle.Union (r1, r2);
|
||||
Assert.Equal (new Rectangle (0, 0, 2, 2), result);
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[CombinatorialData]
|
||||
public void ToString_ReturnsExpectedString ([CombinatorialValues(-1,0,1)]int x, [CombinatorialValues(-1,0,1)]int y, [CombinatorialValues(1,10)]int width, [CombinatorialValues(1,10)]int height)
|
||||
{
|
||||
Rectangle r = new (x, y, width, height);
|
||||
string expectedString = $"{{X={r.X},Y={r.Y},Width={r.Width},Height={r.Height}}}";
|
||||
Assert.Equal (expectedString, r.ToString ());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user