public function testConvertCurrency(UnitTester $I) { $exchangeRate = new \Zidisha\Currency\ExchangeRate(); $exchangeRate->setRate(80)->setCurrencyCode(Currency::CODE_KES); // convert to USD $money = Money::create('160', Currency::CODE_KES); $moneyUSD = Money::create('2.0', Currency::CODE_USD); verify($this->currencyService->convertToUSD($money, $exchangeRate))->equals($moneyUSD); // convert from USD $money = Money::create('240', Currency::CODE_KES); $moneyUSD = Money::create('3.0', Currency::CODE_USD); verify($this->currencyService->convertFromUSD($moneyUSD, Currency::create(Currency::CODE_KES), $exchangeRate))->equals($money); $failed = false; try { $money = Money::create('160', Currency::CODE_XOF); $this->currencyService->convertToUSD($money, $exchangeRate); } catch (\Zidisha\Currency\Exception\InvalidCurrencyExchangeException $e) { $failed = true; } verify($failed)->true(); $failed = false; try { $this->currencyService->convertFromUSD($moneyUSD, Currency::create(Currency::CODE_XOF), $exchangeRate); } catch (\Zidisha\Currency\Exception\InvalidCurrencyExchangeException $e) { $failed = true; } verify($failed)->true(); }
public function getCurrency() { return Currency::create($this->getCurrencyCode()); }