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()); } }