public void RotatedRectangleContainsPointWorks() { var rect = new BoundingRectangle(new Vector2d(2.5, 2.5), new Size2d(4.24, 2.83)) { Rotation = Math.PI / 4 }; Assert.True(rect.Contains(rect.Position)); foreach (var vertex in rect.Corners()) { Assert.True(rect.Contains(vertex)); } Assert.False(rect.Contains(new Vector2d(-1, 0))); Assert.False(rect.Contains(rect.TopRight + 1)); Assert.False(rect.Contains(rect.BotRight + 1)); Assert.False(rect.Contains(rect.TopLeft - 1)); Assert.False(rect.Contains(rect.BotLeft - 1)); Assert.True(rect.Contains(rect.TopRight - 1)); Assert.True(rect.Contains(rect.BotRight - 1)); Assert.True(rect.Contains(rect.TopLeft + 1)); Assert.True(rect.Contains(rect.BotLeft + 1)); }
public void UnrotatedRectangleContainsPointWorks() { var rect = new BoundingRectangle(new Vector2d(3, 2), new Size2d(6, 4)); Assert.True(rect.Contains(rect.Position)); foreach (var vertex in rect.Corners()) { Assert.True(rect.Contains(vertex)); } Assert.False(rect.Contains(new Vector2d(-1, 0))); Assert.False(rect.Contains(rect.TopRight + 1)); Assert.False(rect.Contains(rect.BotRight + 1)); Assert.False(rect.Contains(rect.TopLeft - 1)); Assert.False(rect.Contains(rect.BotLeft - 1)); }