/** * @covers ::sum */ public function testSum() { $objects = [new Money(200, new Currency('EUR')), new Money(300, new Currency('EUR')), new Money(500, new Currency('EUR'))]; $result = MoneyObjects::sum($objects); $this->assertEquals(new Money(1000, new Currency('EUR')), $result); $result = MoneyObjects::sum([]); $this->assertEquals(new Money(0, new Currency('GBP')), $result); $objects = [new Money(200, new Currency('EUR')), new Money(300, new Currency('GBP')), new Money(500, new Currency('EUR'))]; $this->setExpectedException('SebastianBergmann\\Money\\CurrencyMismatchException'); $result = MoneyObjects::sum($objects); }
/** * Sum the values from all the refunds, * if there are no refunds return Money(0) * * @return Money */ public function getRefundsValue() { return MoneyObjects::sum($this->getRefunds()->invoke('getValue')); }
/** * @return \SebastianBergmann\Money\Money */ public function getProductItemsValue() { return MoneyObjects::sum($this->getProductItems()->invoke('getValue')); }
/** * Return a sum from all the item values * * @return Money */ public function getSourceValue() { return MoneyObjects::sum($this->getItems()->invoke('getTotalValue')); }