/**
  * @test
  * @dataProvider provideVersionsAndValidities
  */
 public function checksVersionValidity($version, $expected)
 {
     if (!$expected) {
         $this->setExpectedException('Xi\\Filelib\\InvalidVersionException');
     }
     $plugin = new ArbitraryVersionPlugin('arbitrage', function () {
         return array('tussi', 'lussi');
     }, function () {
         return array('x2', 'x5');
     }, function () {
         return array('tussi' => 'nusnus');
     }, function (Version $version) {
         $params = $version->getParams();
         if (!isset($params['lussi'])) {
             return false;
         }
         return true;
     }, function () {
         return array();
     }, function () {
         return 'image/jpeg';
     });
     $version = Version::get($version);
     $version2 = $plugin->ensureValidVersion($version);
     $this->assertNotSame($version, $version2);
     $this->assertInstanceOf('Xi\\Filelib\\Version', $version2);
 }