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 findCurrent(Currency $currency) { return $this->filterByCurrencyCode($currency->getCode())->filterByDate(new \DateTime())->findOne(); }
/** * @return Money */ public function getTotalBidAmount() { $total = $this->select(array('total'))->withColumn('SUM(bid_amount)', 'total')->findOne(); return Money::valueOf($total, Currency::valueOf('USD')); }
public function getCurrency() { return Currency::create($this->getCurrencyCode()); }
public function getCurrency() { return Currency::valueOf($this->getCurrencyCode()); }
public function getExchangeRate(Currency $currency, \DateTime $date = null) { $date = $date ?: new \DateTime(); return ExchangeRateQuery::create()->filterByCurrencyCode($currency->getCode())->filterByDate($date)->findOne(); }