/**
  * @depends testCanCreateInstance
  */
 public function testSetGetCurrencyList(SelectCurrency $element)
 {
     $list = new CurrencyList();
     $list->add('GBP')->add('USD');
     $this->assertInstanceOf('NetglueMoney\\Service\\CurrencyList', $element->getCurrencyList());
     $this->assertSame($element, $element->setCurrencyList($list));
     $this->assertSame($list, $element->getCurrencyList());
     return $element;
 }
 public function testAddAcceptsMoneyAndCurrencyInstances()
 {
     $list = new CurrencyList();
     $money = new Money(100, new Currency('GBP'));
     $list->add($money);
     $this->assertSame(array('GBP'), $list->getAllow());
     $list = new CurrencyList();
     $code = new Currency('ZAR');
     $list->add($code);
     $this->assertSame(array('ZAR'), $list->getAllow());
 }
 /**
  * Return Currency List Instance
  * @param  ServiceLocatorInterface $serviceLocator
  * @return CurrencyList
  */
 public function createService(ServiceLocatorInterface $serviceLocator)
 {
     $config = $serviceLocator->get('config');
     $config = isset($config['ng_money']) ? $config['ng_money'] : array();
     $list = new CurrencyList();
     if (isset($config['allowCurrencies']) && is_array($config['allowCurrencies'])) {
         $list->setAllow($config['allowCurrencies']);
     }
     if (isset($config['excludeCurrencies']) && is_array($config['excludeCurrencies'])) {
         $list->remove($config['excludeCurrencies']);
     }
     return $list;
 }