/**
  * Imports an existing Version instance.
  *
  * @param Version $version A Version instance.
  *
  * @return Builder The Version builder.
  */
 public function importVersion($version)
 {
     return $this->setMajor($version->getMajor())->setMinor($version->getMinor())->setPatch($version->getPatch())->setPreRelease($version->getPreRelease())->setBuild($version->getBuild());
 }
 /**
  * Returns the string representation of a Version instance.
  *
  * @param Version $version A version.
  *
  * @return string The string representation.
  */
 public static function toString(Version $version)
 {
     return sprintf('%d.%d.%d%s%s', $version->getMajor(), $version->getMinor(), $version->getPatch(), $version->getPreRelease() ? '-' . join('.', $version->getPreRelease()) : '', $version->getBuild() ? '+' . join('.', $version->getBuild()) : '');
 }
 /**
  * @depends testConstruct
  * @depends testConstructWithValues
  */
 public function testGetPreRelease()
 {
     $version = new Version();
     $this->assertSame(array(), $version->getPreRelease());
     $this->assertSame(array('pre', '1'), $this->version->getPreRelease());
 }