public function testCanCreateByObjectAbstractServiceFactory() { $config = ['matryoshka-models' => ['MyModel\\A' => ['datagateway' => 'MatryoshkaTest\\Model\\Service\\TestAsset\\FakeDataGateway', 'resultset' => 'Matryoshka\\Model\\ResultSet\\ResultSet'], 'MyModel\\O' => ['datagateway' => 'MatryoshkaTest\\Model\\Service\\TestAsset\\FakeDataGateway', 'resultset' => 'Matryoshka\\Model\\ResultSet\\ResultSet', 'type' => 'MatryoshkaTest\\Model\\Service\\TestAsset\\MyObservableModel']]]; $config = ['matryoshka-objects' => ['MyObject\\A' => ['type' => 'MatryoshkaTest\\Model\\Service\\TestAsset\\DomainObject']]]; $services = new ServiceManager(); $services->setService('Config', $config); $pluginManager = new ObjectManager(); $pluginManager->setServiceLocator($services); $objectA = $pluginManager->get('MyObject\\A'); $this->assertInstanceOf('MatryoshkaTest\\Model\\Service\\TestAsset\\DomainObject', $objectA); }
public function setUp() { $sm = new ObjectManager(); $sm->setService('test', new \stdClass()); $this->object = new Object($sm); }
public function testWithObjectManagerPeeringServiceManager() { $serviceLocator = $this->serviceManager; $objectManager = new ObjectManager(); $objectManager->setServiceLocator($serviceLocator); $objectFull = $objectManager->get('MyObject\\Full'); $this->assertInstanceOf('\\MatryoshkaTest\\Model\\TestAsset\\ActiveRecordObject', $objectFull); $this->assertSame($serviceLocator->get('Zend\\Stdlib\\Hydrator\\ObjectProperty'), $objectFull->getHydrator()); $this->assertSame($serviceLocator->get('Zend\\InputFilter\\InputFilter'), $objectFull->getInputFilter()); $this->assertAttributeEquals($serviceLocator->get('MatryoshkaTest\\Model\\Criteria\\ActiveRecord\\TestAsset\\ConcreteCriteria'), 'activeRecordCriteriaPrototype', $objectFull); }
/** * @depends testCanCreateService * @return void */ public function testCreateServiceWithOptionalManagers() { $serviceLocator = $this->serviceManager; //Test with optional managers $hydrator = new ObjectProperty(); $hydratorManager = new HydratorPluginManager(); $hydratorManager->setService('Zend\\Stdlib\\Hydrator\\ObjectProperty', $hydrator); $serviceLocator->setService('HydratorManager', $hydratorManager); $inputFilter = new InputFilter(); $inputFilterManager = new InputFilterPluginManager(); $inputFilterManager->setService('Zend\\InputFilter\\InputFilter', $inputFilter); $serviceLocator->setService('InputFilterManager', $inputFilterManager); $domainObject = new DomainObject(); $objectManager = new ObjectManager(); $objectManager->setService('DomainObject', $domainObject); $serviceLocator->setService('Matryoshka\\Model\\Object\\ObjectManager', $objectManager); $modelFull = $serviceLocator->get('MyModel\\Full'); $this->assertSame($hydrator, $modelFull->getHydrator()); $this->assertSame($inputFilter, $modelFull->getInputFilter()); $this->assertSame($domainObject, $modelFull->getObjectPrototype()); $listenerAggregate = $this->getMockForAbstractClass('Zend\\EventManager\\ListenerAggregateInterface', ['attach']); $listenerAggregate = $serviceLocator->get('ListenerAggregateMockedAsset'); $listenerAggregate->expects($this->atLeastOnce())->method('attach')->with($this->isInstanceOf('Zend\\EventManager\\EventManagerInterface')); $listenerManager = new ListenerManager(); $listenerManager->setService('ListenerAggregateMockedAsset', $listenerAggregate); $serviceLocator->setService('Matryoshka\\Model\\Listener\\ListenerManager', $listenerManager); /* @var $myModelOL \Matryoshka\Model\ObservableModel */ $myModelOL = $serviceLocator->get('MyModel\\OL'); }