public function addMoney(Money $m) { if ($this->currency() == $m->currency()) { return new Money($this->amount() + $m->amount(), $this->currency()); } return MoneyBag::create($this, $m); }
public function testAmountCanBeRetrieved() { $money = new Money(1, new Currency('EUR')); $this->assertEquals(1, $money->amount()); }
private function contains(Money $m) { $found = $this->findMoney($m->currency()); if ($found == NULL) { return FALSE; } return $found->amount() == $m->amount(); }
public function equals(Money $money) : bool { return $this->currency->equals($money->currency()) && $this->amount === $money->amount(); }
public function isLessThan(Money $money) : bool { $this->ensureCurrenciesMatch($this->currency, $money->currency()); return $this->amount < $money->amount(); }