Forked from
EC504 Spring 2024 Group Projects / Group8
177 commits behind the upstream repository.
-
Sanford Jonathan Edelist authoredSanford Jonathan Edelist authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
BoundingBoxTests.java 1.50 KiB
package object_detection;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;
import object_detection.types.*;
class BoundingBoxTests {
@Test
void testPointWithinBoundingBox() {
Point2D tr = new Point2D(10, 10);
Point2D tl = new Point2D(0, 10);
Point2D br = new Point2D(10, 0);
Point2D bl = new Point2D(0, 0);
BoundingBox box = new BoundingBox(tr, tl, br, bl);
assertTrue(box.within(new Point2D(5, 5)));
assertFalse(box.within(new Point2D(10, 10))); // edge case: point on the boundary
assertFalse(box.within(new Point2D(-1, 5))); // outside box
}
@Test
void testBoundaryConditionsForBoundingBox() {
Point2D tr = new Point2D(10, 10);
Point2D tl = new Point2D(0, 10);
Point2D br = new Point2D(10, 0);
Point2D bl = new Point2D(0, 0);
BoundingBox box = new BoundingBox(tr, tl, br, bl);
assertFalse(box.within(new Point2D(0, 10))); // Exactly at top left
assertTrue(box.within(new Point2D(1, 9))); // Slightly inside from top left
}
@Test
void testPointsOnEdges() {
Point2D tr = new Point2D(10, 10);
Point2D tl = new Point2D(0, 10);
Point2D br = new Point2D(10, 0);
Point2D bl = new Point2D(0, 0);
BoundingBox box = new BoundingBox(tr, tl, br, bl);
assertFalse(box.within(new Point2D(10, 5))); // On right edge
assertFalse(box.within(new Point2D(0, 5))); // On left edge
}
}