public function testParseToArray()
 {
     $structureGenerator = $this->container->get('seg.structure_generator');
     $result = $structureGenerator->parseToArray(Helper::getStructureYaml());
     $this->assertEquals(2, count($result));
     $classesManagers = $structureGenerator->buildEntitiesClassStructure($result);
     $this->assertEquals(2, count($classesManagers));
     foreach ($classesManagers as $classManager) {
         $this->checkCommonClassManager($classManager);
     }
     $userEntity = $classesManagers[0];
     $this->assertEquals(7, $userEntity->getProperties()->count());
     $this->assertEquals(15, $userEntity->getMethods()->count());
     // getters + setters + boolean
     $userEntityInterface = $userEntity->getInterface();
     $this->assertEquals(15, $userEntityInterface->getMethods()->count());
     $userEntityTestClass = $userEntity->getTestClass();
     $this->assertEquals(15, $userEntityTestClass->getMethods()->count());
     $postEntity = $classesManagers[1];
     $this->assertEquals(3, $postEntity->getProperties()->count());
     $this->assertEquals(6, $postEntity->getMethods()->count());
     // getters + setters
     $postEntityInterface = $postEntity->getInterface();
     $this->assertEquals(6, $postEntityInterface->getMethods()->count());
     $postEntityTestClass = $postEntity->getTestClass();
     $this->assertEquals(6, $postEntityTestClass->getMethods()->count());
 }
 private function initDataFromYaml(ClassConfig $classConfig = null)
 {
     self::bootKernel();
     $structureGenerator = self::$kernel->getContainer()->get('seg.structure_generator');
     $this->classManagers = $structureGenerator->buildEntitiesClassStructure($structureGenerator->parseToArray(Helper::getStructureYaml()), $classConfig);
 }
 /**
  * Prepare correct ClassManager
  *
  * @return ClassManager
  */
 protected function preapareClassManager()
 {
     return $this->container->get('seg.structure_generator')->preapareClassManager(Helper::prepareBasicClassManager());
 }
 /**
  * Prepare correct ClassManager
  *
  * @param $newProperties ArrayCollection
  * @return ClassManager
  */
 private function preapareClassManager()
 {
     $pureClassManager = Helper::prepareBasicClassManager("\\Tests\\HelloWordPl\\SimpleEntityGeneratorBundle\\Lib\\Dummies\\User");
     $properties = $pureClassManager->getProperties();
     $properties->add(Helper::prepareProperty('test_boolean', "boolean", "new boolean property", ["IsTrue()"]));
     $properties->add(Helper::prepareProperty('test_collection', "Doctrine\\Common\\Collections\\ArrayCollection", "new collection property", ["Valid()"]));
     $classManager = $this->container->get('seg.structure_generator')->preapareClassManager($pureClassManager);
     $errors = $this->container->get('validator')->validate($classManager);
     $this->assertFalse($errors->count() > 0);
     return $classManager;
 }