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