/** * @covers Jam_Price::amount * @covers Jam_Price::currency * @covers Jam_Price::monetary * @covers Jam_Price::__construct */ public function test_construct() { $monetary = new OpenBuildings\Monetary\Monetary(); $monetary2 = new OpenBuildings\Monetary\Monetary(); $price = new Jam_Price(10, 'GBP', $monetary, 'GBP'); $price2 = new Jam_Price(10, 'GBP', $monetary, 'EUR'); $price3 = new Jam_Price(10, 'GBP', $monetary, 'EUR', TRUE); $this->assertSame(10.0, $price->amount()); $this->assertSame('GBP', $price->currency()); $this->assertSame('GBP', $price->display_currency()); $this->assertSame($monetary, $price->monetary()); $this->assertSame('EUR', $price2->display_currency()); $price->amount(20.1); $price->currency('EUR'); $price->monetary($monetary2); $this->assertSame(20.1, $price->amount()); $this->assertSame('EUR', $price->currency()); $this->assertSame($monetary2, $price->monetary()); $this->assertSame(TRUE, $price3->ceil_on_convert()); }