public function testGetInstanceReturnsSameObject() { $exManager = ExchangeManager::getInstance(); $exManager3 = new ExchangeManager(); $exManager2 = ExchangeManager::getInstance(); $this->assertSame($exManager, $exManager2); $this->assertNotSame($exManager, $exManager3); $this->assertEquals($exManager, $exManager3); }
/** * Tests for exchangeTo() method. */ public function testExchange() { $exManager = ExchangeManager::getInstance(); $exManager->add(new ExchangeRate("BGN/EUR 0.511280836")); $money = new Money("100 BGN"); // with string $this->assertEquals("51.13 EUR", $money->exchangeTo("EUR")->__toString()); // with Currency object $this->assertEquals("51.13 EUR", $money->exchangeTo(new Currency("EUR"))->__toString()); }
/** * Converts money to other currency. * * @param mixed $currency Currency Object or string (3-chars ISO code) * * @return Money */ public function exchangeTo($currency) { if (is_string($currency)) { $currency = new Currency($currency); } return ExchangeManager::getInstance()->exchange($this, $currency); }