示例#1
0
 public function testAdd()
 {
     // Arrange
     $a = new Money(600);
     // Act
     $a->add(66);
     // Assert
     $this->assertEquals(666, $a->getAmount());
 }
示例#2
0
 public function testMoneyCanBeAdded()
 {
     $usCurrency = new USD();
     $amount = 123;
     $money = new Money($usCurrency, $amount);
     $result = $money->add($money);
     $this->assertEquals($usCurrency, $result->getCurrency());
     $this->assertEquals($amount + $amount, $result->getValue());
 }
示例#3
0
 /**
  * @covers            \SebastianBergmann\Money\Money::add
  * @covers            \SebastianBergmann\Money\Money::assertSameCurrency
  * @uses              \SebastianBergmann\Money\Money::__construct
  * @uses              \SebastianBergmann\Money\Money::handleCurrencyArgument
  * @uses              \SebastianBergmann\Money\Money::getAmount
  * @uses              \SebastianBergmann\Money\Money::getCurrency
  * @uses              \SebastianBergmann\Money\Currency
  * @expectedException \SebastianBergmann\Money\CurrencyMismatchException
  */
 public function testExceptionIsRaisedWhenMoneyObjectWithDifferentCurrencyIsAdded()
 {
     $a = new Money(1, new Currency('EUR'));
     $b = new Money(2, new Currency('USD'));
     $a->add($b);
 }
示例#4
0
 public function testBagNotEquals()
 {
     $bag1 = MoneyBag::create($this->f12EUR, $this->f7USD);
     $bag2 = new Money(12, 'CHF');
     $bag2->add($this->f7USD);
     $this->assertFalse($bag1->equals($bag2));
 }
示例#5
0
 /**
  * addMoney
  * 
  * Adds two instances of Money together, returning a new instance in the
  * same currency as the first instance.
  * 
  * @param Money $first
  * @param Money $second
  * @return type
  */
 public function addMoney(Money $first, Money $second)
 {
     return $first->add($this->normalizeMoneyValue($first, $second));
 }