public function testServiceInstantiation() { $serviceManager = new CM_Service_Manager(); $serviceManager->registerWithArray('stream-message', ['class' => 'CM_MessageStream_Factory', 'method' => ['name' => 'createService', 'arguments' => ['adapterClass' => 'CM_MessageStream_Adapter_SocketRedis', 'adapterArguments' => ['servers' => [['httpHost' => 'localhost', 'httpPort' => 8085, 'sockjsUrls' => ['http://localhost:8090']]]]]]]); $stream = $serviceManager->get('stream-message'); $this->assertSame(true, $stream instanceof CM_MessageStream_Service); $adapter = $stream->getAdapter(); $this->assertSame(true, $adapter instanceof CM_MessageStream_Adapter_SocketRedis); /** @var CM_MessageStream_Adapter_SocketRedis $adapter */ $this->assertSame($serviceManager, $adapter->getServiceManager()); }
public function testRegisterInstance() { $serviceManager = new CM_Service_Manager(); $serviceFoo = 12.3; $serviceManager->registerInstance('foo', $serviceFoo); $this->assertSame($serviceFoo, $serviceManager->get('foo')); $serviceBar = new DummyService('hello'); $serviceManager->registerInstance('bar', $serviceBar); $this->assertSame($serviceBar, $serviceManager->get('bar')); $this->assertSame($serviceManager, $serviceBar->getServiceManager()); }
public function testReplaceInstance() { $serviceManager = new CM_Service_Manager(); $this->assertSame(false, $serviceManager->has('foo')); $serviceManager->replaceInstance('foo', 12.3); $this->assertSame(12.3, $serviceManager->get('foo')); $serviceManager->replaceInstance('foo', 12.4); $this->assertSame(12.4, $serviceManager->get('foo')); }