/**
  * Returns an array containing the currency values
  *
  * @param Channel $channel
  *
  * @return array
  */
 protected function normalizeCurrencies(Channel $channel)
 {
     $currencies = array();
     foreach ($channel->getCurrencies() as $currency) {
         $currencies[] = $currency->getCode();
     }
     return $currencies;
 }
 /**
  * Test getter/add/remove for currency property
  */
 public function testGetAddRemoveCurrency()
 {
     $this->assertCount(0, $this->channel->getCurrencies());
     // assert adding the right entity
     $expectedCurrencyEUR = $this->createCurrency('EUR');
     $this->assertEntity($this->channel->addCurrency($expectedCurrencyEUR));
     $this->assertCount(1, $this->channel->getCurrencies());
     $currency = $this->channel->getCurrencies()->first();
     $this->assertEquals($expectedCurrencyEUR, $currency);
     // assert removing the right entity
     $expectedCurrencyUSD = $this->createCurrency('USD');
     $this->channel->addCurrency($expectedCurrencyUSD);
     $this->assertCount(2, $this->channel->getCurrencies());
     $this->assertEntity($this->channel->removeCurrency($expectedCurrencyEUR));
     $this->assertCount(1, $this->channel->getCurrencies());
     $currency = $this->channel->getCurrencies()->first();
     $this->assertEquals($expectedCurrencyUSD, $currency);
 }
 /**
  * {@inheritDoc}
  */
 public function getCurrencies()
 {
     $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCurrencies', array());
     return parent::getCurrencies();
 }