public void TestNegativeArea() { var expandableRectangleArray = new ExpandableRectangleArray<int>(); expandableRectangleArray.AddLast(new Point(-1, -1), new[,] {{1, 2}, {1, 2}}); var result = expandableRectangleArray.GetArray(); result.Should().Equal(new[,] {{2}}); expandableRectangleArray.TotalArea.Should().Be(new Rectangle(0, 0, 1, 1)); }
public void TestGetArrayNoBase() { var expandableRectangleArray = new ExpandableRectangleArray<int>(); expandableRectangleArray.AddLast(new Point(1, 1), new[,] {{5, 6}, {7, 8}}); expandableRectangleArray.AddFirst(new Point(2, 2), new[,] {{1, 2}, {3, 4}}); var result = expandableRectangleArray.GetArray(); result.Should().Equal(new[,] {{5, 6, 0}, {7, 8, 2}, {0, 3, 4}}); expandableRectangleArray.TotalArea.Should().Be(new Rectangle(1, 1, 3, 3)); }
public void TestGetArraySmallBase() { var expandableRectangleArray = new ExpandableRectangleArray<int>(); expandableRectangleArray.AddLast(new Point(1, 1), new[,] {{5, 6}, {7, 8}}); expandableRectangleArray.AddFirst(new Point(2, 2), new[,] {{1, 2}, {3, 4}}); var result = expandableRectangleArray.GetArray(new[,] {{-1, -2, -3}, {-5, -6, -7}, {-9, -10, -11}, {-13, -14, -15}}); result.Should().Equal(new[,] {{5, 6}, {7, 8}, {-14, 3}}); expandableRectangleArray.TotalArea.Should().Be(new Rectangle(1, 1, 3, 3)); }