Exemplo n.º 1
0
 public function testGetAvailableCurrencies()
 {
     $providerChain = $this->createCurrencyProviderChain();
     // Add a different GBP instance, that comes after the first one.
     // The first instance available in the chain takes precedence.
     $provider = new ConfigurableCurrencyProvider();
     $provider->addCurrency(Currency::create('GBP', 999, 'A competing GBP instance', 6));
     $providerChain->addCurrencyProvider($provider);
     $isoCurrencyProvider = ISOCurrencyProvider::getInstance();
     $this->assertCurrencyProviderContains(['EUR' => $isoCurrencyProvider->getCurrency('EUR'), 'GBP' => $isoCurrencyProvider->getCurrency('GBP'), 'USD' => $isoCurrencyProvider->getCurrency('USD'), 'CAD' => $isoCurrencyProvider->getCurrency('CAD')], $providerChain);
 }
 /**
  * @depends testRegisterSecondCurrency
  *
  * @param ConfigurableCurrencyProvider $provider
  *
  * @return ConfigurableCurrencyProvider
  */
 public function testRegisterCurrencyOverride(ConfigurableCurrencyProvider $provider)
 {
     $provider->addCurrency(self::$competingFooCurrency);
     $this->assertCurrencyProviderContains(['FOO' => self::$competingFooCurrency, 'BAR' => self::$barCurrency], $provider);
     return $provider;
 }
Exemplo n.º 3
0
 /**
  * Adds a currency to the default currency provider.
  *
  * If a currency with the same currency code is already registered,
  * and that currency is not an ISO currency, it will be overridden.
  *
  * @param Currency $currency The currency to add.
  *
  * @return DefaultCurrencyProvider This instance, for chaining.
  */
 public function addCurrency(Currency $currency)
 {
     $this->configurableCurrencyProvider->addCurrency($currency);
     return $this;
 }