/** * @covers Jam_Price::multiply_by */ public function test_multiply_by() { $monetary = new OpenBuildings\Monetary\Monetary('GBP', new OpenBuildings\Monetary\Source_Static()); $price = new Jam_Price(13.234, 'GBP', $monetary, 'EUR'); $converted = $price->multiply_by(3); $this->assertEquals(new Jam_Price(13.234 * 3, 'GBP', $monetary, 'EUR'), $converted); }
/** * @covers Model_Purchase_Item_Refund::get_price */ public function test_get_price() { $mock = $this->getMock('stdClass', array('amount')); $purchase_item = $this->getMock('Model_Purchase_Item_Refund', array('get_reference_paranoid'), array('purchase_item_refund')); $purchase_item->expects($this->exactly(2))->method('get_reference_paranoid')->will($this->onConsecutiveCalls($mock, NULL)); $refund_amount = new Jam_Price(10.25, 'GBP'); $purchase_item_refund_price = $refund_amount->multiply_by(-1); $mock->expects($this->once())->method('amount')->will($this->returnValue($refund_amount)); $this->assertEquals($purchase_item_refund_price, $purchase_item->get_price()); $this->assertEquals(new Jam_Price(0, 'GBP'), $purchase_item->get_price()); }