public function testReadSymlinks()
 {
     $this->createContainers();
     $ringDir = ONPHP_TEMP_PATH . 'tests/main/data/ring';
     $converter = DirectoryToObjectBinder::create(Singleton::getInstance('EntityProtoDirectoryItem'));
     $result = $converter->make($ringDir);
     $this->assertNotNull($result);
     $this->assertNotNull($result->getInner());
     $this->assertEquals(421, $result->getInner()->getId());
     $this->assertEquals(422, $result->getInner()->getInner()->getId());
     $this->assertNotNull($result->getInner()->getInner());
     $newHead = DirectoryItem::create()->setId('newHead')->setInner($result->getInner());
     $newItemTmpDir = ONPHP_TEMP_PATH . 'tests/main/data/ring.tmp';
     $saver = $converter->makeReverseBuilder()->setDirectory($newItemTmpDir);
     $saver->makeList(array($newHead));
     $result->setInner($newHead);
     $saver->setDirectory($ringDir)->make($result);
     $this->assertEquals(readlink($ringDir . '/inner'), $newItemTmpDir . '/newHead');
 }
 /**
  * @return PrototypedBuilder
  **/
 public function makeReverseBuilder()
 {
     return DirectoryToObjectBinder::create($this->proto)->setIdentityMap($this->identityMap);
 }