|
|
@ -7,13 +7,13 @@ namespace SemiColinGames.Tests { |
|
|
|
public class GeometryTests { |
|
|
|
[TestMethod] |
|
|
|
public void TestIntersectSegmentNotColliding() { |
|
|
|
Aabb box = new Aabb(new Vector2(0, 0), new Vector2(8, 8)); |
|
|
|
AABB box = new AABB(new Vector2(0, 0), new Vector2(8, 8)); |
|
|
|
Assert.IsNull(box.IntersectSegment(new Vector2(-16, -16), new Vector2(32, 0))); |
|
|
|
} |
|
|
|
|
|
|
|
[TestMethod] |
|
|
|
public void TestIntersectSegmentHit() { |
|
|
|
Aabb box = new Aabb(new Vector2(0, 0), new Vector2(8, 8)); |
|
|
|
AABB box = new AABB(new Vector2(0, 0), new Vector2(8, 8)); |
|
|
|
var point = new Vector2(-16, 4); |
|
|
|
var delta = new Vector2(32, 0); |
|
|
|
Hit? maybeHit = box.IntersectSegment(point, delta); |
|
|
@ -36,7 +36,7 @@ namespace SemiColinGames.Tests { |
|
|
|
|
|
|
|
[TestMethod] |
|
|
|
public void TestIntersectSegmentFromInsideBox() { |
|
|
|
Aabb box = new Aabb(new Vector2(0, 0), new Vector2(8, 8)); |
|
|
|
AABB box = new AABB(new Vector2(0, 0), new Vector2(8, 8)); |
|
|
|
var point = new Vector2(-4, 4); |
|
|
|
var delta = new Vector2(32, 0); |
|
|
|
Hit? maybeHit = box.IntersectSegment(point, delta); |
|
|
@ -59,7 +59,7 @@ namespace SemiColinGames.Tests { |
|
|
|
|
|
|
|
[TestMethod] |
|
|
|
public void TestIntersectSegmentWithPadding() { |
|
|
|
Aabb box = new Aabb(new Vector2(0, 0), new Vector2(8, 8)); |
|
|
|
AABB box = new AABB(new Vector2(0, 0), new Vector2(8, 8)); |
|
|
|
var point = new Vector2(-16, 4); |
|
|
|
var delta = new Vector2(32, 0); |
|
|
|
int padding = 4; |
|
|
@ -83,7 +83,7 @@ namespace SemiColinGames.Tests { |
|
|
|
|
|
|
|
[TestMethod] |
|
|
|
public void TestIntersectSegmentFromTwoDirections() { |
|
|
|
Aabb box = new Aabb(new Vector2(0, 0), new Vector2(32, 32)); |
|
|
|
AABB box = new AABB(new Vector2(0, 0), new Vector2(32, 32)); |
|
|
|
var farPos = new Vector2(64, 0); |
|
|
|
var farToNearDelta = new Vector2(-32, 0); |
|
|
|
Assert.IsNull(box.IntersectSegment(farPos, farToNearDelta)); |
|
|
@ -95,7 +95,7 @@ namespace SemiColinGames.Tests { |
|
|
|
|
|
|
|
[TestMethod] |
|
|
|
public void TestIntersectSegmentXAxisAligned() { |
|
|
|
Aabb box = new Aabb(new Vector2(0, 0), new Vector2(16, 16)); |
|
|
|
AABB box = new AABB(new Vector2(0, 0), new Vector2(16, 16)); |
|
|
|
var pos = new Vector2(-32, 0); |
|
|
|
var delta = new Vector2(64, 0); |
|
|
|
Hit? maybeHit = box.IntersectSegment(pos, delta); |
|
|
@ -110,7 +110,7 @@ namespace SemiColinGames.Tests { |
|
|
|
|
|
|
|
[TestMethod] |
|
|
|
public void TestIntersectSegmentYAxisAligned() { |
|
|
|
Aabb box = new Aabb(new Vector2(0, 0), new Vector2(16, 16)); |
|
|
|
AABB box = new AABB(new Vector2(0, 0), new Vector2(16, 16)); |
|
|
|
var pos = new Vector2(0, -32); |
|
|
|
var delta = new Vector2(0, 64); |
|
|
|
Hit? maybeHit = box.IntersectSegment(pos, delta); |
|
|
|