/** * @test * @author Robert Lemke <*****@*****.**> */ public function getAllSubClassNamesForClassReturnsArrayOfSubClasses() { $availableClassNames = array('F3\\FLOW3\\Tests\\Reflection\\Fixture\\DummyClass', 'F3\\FLOW3\\Tests\\Reflection\\Fixture\\ParentClass1', 'F3\\FLOW3\\Tests\\Reflection\\Fixture\\SubClassOfParentClass1', 'F3\\FLOW3\\Tests\\Reflection\\Fixture\\SubClassOfSubClassOfParentClass1'); $expectedClassNames = array('F3\\FLOW3\\Tests\\Reflection\\Fixture\\SubClassOfParentClass1', 'F3\\FLOW3\\Tests\\Reflection\\Fixture\\SubClassOfSubClassOfParentClass1'); $reflectionService = new \F3\FLOW3\Reflection\ReflectionService(); $reflectionService->setStatusCache($this->getMock('F3\\FLOW3\\Cache\\Frontend\\StringFrontend', array(), array(), '', FALSE)); $reflectionService->setDataCache($this->getMock('F3\\FLOW3\\Cache\\Frontend\\VariableFrontend', array(), array(), '', FALSE)); $reflectionService->injectSystemLogger($this->getMock('F3\\FLOW3\\Log\\SystemLoggerInterface')); $reflectionService->initialize($availableClassNames); $detectedClassNames = $reflectionService->getAllSubClassNamesForClass('F3\\FLOW3\\Tests\\Reflection\\Fixture\\ParentClass1'); $this->assertEquals($expectedClassNames, $detectedClassNames); }