/** * */ public function testTranslate() { $p1 = new Polygon(); $p1->addPoint(new Point2d(0, 0)); $p1->addPoint(new Point2d(1, 1)); $p1->addPoint(new Point2d(1, 2)); $p1->addPoint(new Point2d(0, 3)); $p1->addPoint(new Point2d(0, 4)); $p2 = new Polygon(); $p2->addPoint(new Point2d(2, 1)); $p2->addPoint(new Point2d(3, 2)); $p2->addPoint(new Point2d(3, 3)); $p2->addPoint(new Point2d(2, 4)); $p2->addPoint(new Point2d(2, 5)); $this->assertEquals($p2, $p1->translate(new Vector2d(2, 1))); $this->assertNotEquals($p2, $p1->translate(new Vector2d(2, 2))); $p2->addPoint(new Point2d(1, 0)); $this->assertNotEquals($p2, $p1->translate(new Vector2d(2, 1))); }
/** * @inheritdoc * * @param int $index * @param Point2d $point * @return Rectangle * @throws Exception */ public function setPoint($index, Point2d $point) { if (!in_array($index, array(0, 1, 2, 3))) { throw new Exception('I am a rectangle!'); } parent::setPoint($index, $point); return $this; }
/** * @inheritdoc * * @param int $index * @param Point2d $point * @throws Exception */ public function setPoint($index, Point2d $point) { if (!in_array($index, array(0, 1, 2))) { throw new Exception('I am a triangle!'); } parent::setPoint($index, $point); }