/** * @test */ public function breakAt() { $this->node->setWidth(350)->setHeight(300); $boundary = $this->node->getBoundary(); $boundary->setNext(50, 600)->setNext(400, 600)->setNext(400, 300)->setNext(50, 300)->close(); $child1 = new Container(); $child1->setWidth(350)->setHeight(100); $boundary = $child1->getBoundary(); $boundary->setNext(50, 600)->setNext(400, 600)->setNext(400, 500)->setNext(50, 500)->close(); $this->node->add($child1); $child2 = $child1->copy(); foreach ($boundary as $point) { $child2->getBoundary()->setNext($point); } $child2->translate(0, 200); $this->node->add($child2); $result = $this->node->breakAt(250); $this->assertEquals(250, $this->node->getHeight()); $children = $this->node->getChildren(); $this->assertEquals(2, count($children)); $this->assertEquals(100, $children[0]->getHeight()); $this->assertEquals(50, $children[1]->getHeight()); $this->assertEquals(array(400, 350), $children[1]->getEndDrawingPoint()); $this->assertEquals(50, $result->getHeight()); $children = $result->getChildren(); $this->assertEquals(1, count($children)); $this->assertEquals(50, $children[0]->getHeight()); $this->assertEquals(array(50, 350), $children[0]->getStartDrawingPoint()); $this->assertEquals(array(400, 300), $children[0]->getEndDrawingPoint()); }
private function getContainerStub($start, $end, array $methods = array()) { $stub = new Container(); $stub->setHeight($start[1] - $end[1]); $stub->getBoundary()->setNext($start[0], $start[1])->setNext($end[0], $start[1])->setNext($end[0], $end[1])->setNext($start[0], $end[1])->close(); $boundary = new Boundary(); $boundary->setNext($start[0], $start[1])->setNext($end[0], $start[1])->setNext($end[0], $end[1])->setNext($start[0], $end[1])->close(); return $stub; }
private function setDimension(ColumnableContainer $columnableContainer, Container $container) { $container->setWidth($columnableContainer->getWidth()); $container->setHeight($columnableContainer->getHeight()); $this->setPointsToBoundary($columnableContainer->getBoundary(), $container->getBoundary()); }