/**
  *@dataProvider cases
  */
 public function testCase($identifier, $viewport, $image, $expected)
 {
     $viewport = new \ImageCover\BackgroundCoverViewport($viewport[0], $viewport[1], isset($viewport[2]) ? $viewport[2] : null, isset($viewport[3]) ? $viewport[3] : null);
     $result = $viewport->computeUsedCrop($image[0], $image[1]);
     $this->assertEquals("({$expected[0]}, {$expected[1]})", "({$result[0]}, {$result[1]})", "[{$identifier}] position does not match");
     $this->assertEquals("({$expected[2]} x {$expected[3]})", "({$result[2]} x {$result[3]})", "[{$identifier}] size does not match");
 }
$fixtures = (require 'Fixture.php');
?>

<body style="width: 3000px">

<?php 
foreach ($fixtures as $fixture) {
    ?>

  <h2 style="clear: both"><?php 
    echo $fixture[0];
    ?>
</h2>

  <?php 
    $viewport = new \ImageCover\BackgroundCoverViewport($fixture[1][0], $fixture[1][1], isset($fixture[1][2]) ? $fixture[1][2] : null, isset($fixture[1][3]) ? $fixture[1][3] : null);
    $crop = $viewport->computeUsedCrop($fixture[2][0], $fixture[2][1]);
    ?>

  <div style="position: relative;">

    <div style="margin: 10px; float: left; width: <?php 
    echo $fixture[1][0];
    ?>
px; height: <?php 
    echo $fixture[1][1];
    ?>
px; background-image: url(image.php?width=<?php 
    echo $fixture[2][0];
    ?>
&height=<?php