Example #1
0
 /**
  * @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);
 }
Example #2
0
 /**
  * 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'));
 }
Example #3
0
 /**
  * @return \SebastianBergmann\Money\Money
  */
 public function getProductItemsValue()
 {
     return MoneyObjects::sum($this->getProductItems()->invoke('getValue'));
 }
Example #4
0
 /**
  * Return a sum from all the item values
  *
  * @return Money
  */
 public function getSourceValue()
 {
     return MoneyObjects::sum($this->getItems()->invoke('getTotalValue'));
 }