/** * @test * @author Robert Lemke <*****@*****.**> */ public function getObjectReturnsSingletonObjectsFromTheRegistryIfAnInstanceAlreadyExists() { $className = 'SomeClass' . uniqid(); eval('class ' . $className . ' {}'); $expectedObject = new $className(); $mockSingletonObjectsRegistry = $this->getMock('F3\\FLOW3\\Object\\TransientRegistry'); $mockSingletonObjectsRegistry->expects($this->once())->method('objectExists')->with($className)->will($this->returnValue(TRUE)); $mockSingletonObjectsRegistry->expects($this->once())->method('getObject')->with($className)->will($this->returnValue($expectedObject)); $objectManager = new \F3\FLOW3\Object\ObjectManager(); $objectManager->injectObjectBuilder($this->getMock('F3\\FLOW3\\Object\\ObjectBuilder')); $objectManager->injectObjectFactory($this->getMock('F3\\FLOW3\\Object\\ObjectFactoryInterface')); $objectManager->injectSingletonObjectsRegistry($mockSingletonObjectsRegistry); $objectManager->injectReflectionService($this->getMock('F3\\FLOW3\\Reflection\\ReflectionService')); $objectManager->registerObject($className); $retrievedObject = $objectManager->getObject($className); $this->assertSame($expectedObject, $retrievedObject); }