diff --git a/tests/Geometry/EllipseTest.php b/tests/Geometry/EllipseTest.php new file mode 100644 index 00000000..2838b5c3 --- /dev/null +++ b/tests/Geometry/EllipseTest.php @@ -0,0 +1,56 @@ +assertInstanceOf(Ellipse::class, $ellipse); + $this->assertEquals(10, $ellipse->width()); + $this->assertEquals(20, $ellipse->height()); + } + + public function testPosition(): void + { + $ellipse = new Ellipse(10, 20, new Point(100, 200)); + $this->assertInstanceOf(Point::class, $ellipse->position()); + $this->assertEquals(100, $ellipse->position()->x()); + $this->assertEquals(200, $ellipse->position()->y()); + + $this->assertInstanceOf(Point::class, $ellipse->pivot()); + $this->assertEquals(100, $ellipse->pivot()->x()); + $this->assertEquals(200, $ellipse->pivot()->y()); + } + + public function testSetSize(): void + { + $ellipse = new Ellipse(10, 20, new Point(100, 200)); + $this->assertEquals(10, $ellipse->width()); + $this->assertEquals(20, $ellipse->height()); + $result = $ellipse->setSize(100, 200); + $this->assertInstanceOf(Ellipse::class, $result); + $this->assertEquals(100, $ellipse->width()); + $this->assertEquals(200, $ellipse->height()); + } + + public function testSetWidthHeight(): void + { + $ellipse = new Ellipse(10, 20, new Point(100, 200)); + $this->assertEquals(10, $ellipse->width()); + $this->assertEquals(20, $ellipse->height()); + $result = $ellipse->setWidth(100); + $this->assertInstanceOf(Ellipse::class, $result); + $this->assertEquals(100, $ellipse->width()); + $this->assertEquals(20, $ellipse->height()); + $result = $ellipse->setHeight(200); + $this->assertInstanceOf(Ellipse::class, $result); + $this->assertEquals(100, $ellipse->width()); + $this->assertEquals(200, $ellipse->height()); + } +}