public function testInitializerWorksWithOtherLocators()
 {
     $sm = new ServiceManager();
     $sm->setService('config', array());
     $sm->setFactory('NetglueMoney\\Service\\CurrencyList', new CurrencyListFactory());
     $list = $sm->get('NetglueMoney\\Service\\CurrencyList');
     $vm = new \Zend\Validator\ValidatorPluginManager();
     $vm->setServiceLocator($sm);
     $init = new CurrencyListInitializer();
     $instance = new ListInititializerTester();
     $init->initialize($instance, $vm);
     $this->assertSame($list, $instance->getCurrencyList());
 }
 public function testCanBeRegisteredAsFactory()
 {
     $sm = new ServiceManager();
     $sm->setService('config', array('ng_money' => array('allowCurrencies' => array('GBP', 'USD'), 'excludeCurrencies' => array('USD'))));
     $sm->setFactory('NetglueMoney\\Service\\CurrencyList', new CurrencyListFactory());
     $validatorManager = new \Zend\Validator\ValidatorPluginManager();
     $validatorManager->setServiceLocator($sm);
     $sm->setService('ValidatorManager', $validatorManager);
     $validatorManager->setFactory('mine', new CurrencyCodeValidatorFactory());
     $valid = $validatorManager->get('mine');
     $this->assertInstanceOf('NetglueMoney\\Validator\\CurrencyCode', $valid);
     $this->assertInstanceOf('NetglueMoney\\Service\\CurrencyList', $valid->getCurrencyList());
 }
 public function testCanBeRegisteredAsFactory()
 {
     $sm = new ServiceManager();
     $sm->setService('config', array('ng_money' => array('allowCurrencies' => array('GBP', 'USD'), 'excludeCurrencies' => array('USD'))));
     $sm->setFactory('NetglueMoney\\Service\\CurrencyList', new CurrencyListFactory());
     $list = $sm->get('NetglueMoney\\Service\\CurrencyList');
     $formElementManager = new \Zend\Form\FormElementManager();
     $formElementManager->setServiceLocator($sm);
     $validatorManager = new \Zend\Validator\ValidatorPluginManager();
     $validatorManager->setServiceLocator($sm);
     $sm->setService('ValidatorManager', $validatorManager);
     $formElementManager->setFactory('select', new CurrencySelectFactory());
     $select = $formElementManager->get('select');
     $this->assertInstanceOf('NetglueMoney\\Form\\Element\\SelectCurrency', $select);
     $this->assertInstanceOf('NetglueMoney\\Service\\CurrencyList', $select->getCurrencyList());
     $this->assertInstanceOf('NetglueMoney\\Validator\\CurrencyCode', $select->getValidator());
 }