public function testConvertFromV4ToV0()
 {
     $converter = new VersionConverter(new VersionReader(new AnnotationReader()), 'Evispa\\ObjectMigration\\Tests\\Mock\\MockCodeV0', array('locale' => 'en'));
     $codeV4 = new MockCodeV4();
     $codeV4->code = 'sku#kodas';
     $codeV0 = $converter->migrateFrom($codeV4);
     $this->assertTrue($codeV0 instanceof MockCodeV0);
     $this->assertEquals($codeV0->code, $codeV4->code);
 }
 /**
  * Create farther version object, run all migrations in path
  *
  * @param string $fromClassName
  * @param array $path
  */
 private function migrateFromPath($fromClassName, $path)
 {
     $path = array_reverse($path);
     $class = new \ReflectionClass($fromClassName);
     $object = $class->newInstance();
     /** @var MethodInfo $methodInfo */
     foreach ($path as $methodInfo) {
         $object = $methodInfo->action->run($object, $this->versionConverter->getOptions());
     }
 }