/**
  * @test
  * @dataProvider correctHeightOfPageProvider
  */
 public function correctHeightOfPage($originalHeight, array $childrenDiagonalYCoord)
 {
     $page = new Page(array('page-size' => '500:' . $originalHeight));
     foreach ($childrenDiagonalYCoord as $yCoord) {
         $node = $this->nodeObjectMother->getNodeStub(0, $page->getHeight(), 100, $page->getHeight() - $yCoord);
         $page->add($node);
     }
     $minYCoord = $childrenDiagonalYCoord ? min($childrenDiagonalYCoord) : $originalHeight;
     $this->formatter->format($page, $this->document);
     $expectedHeight = $originalHeight - $minYCoord;
     $translation = $originalHeight - $expectedHeight;
     $this->assertEquals($expectedHeight, $page->getRealHeight());
     foreach ($page->getChildren() as $i => $child) {
         $expectedDiagonalYCoord = $childrenDiagonalYCoord[$i] - $translation;
         $actualDiagonalYCoord = $child->getDiagonalPoint()->getY();
         $this->assertEquals($expectedDiagonalYCoord, $actualDiagonalYCoord);
     }
 }