/** * @depends testCreateCurrency */ public function testCreate() { $cur1 = new Currency('foo'); $cur2 = new Currency('bar'); $provider = new ArrayCurrencyProvider([$cur1, $cur2]); $factory = new MoneyFactory($provider); $obj1 = new Money($cur1, 10); $obj2 = new Money($cur2, 10); $this->assertTrue($obj1->equals($factory->create('foo', 10))); $this->assertTrue($obj2->equals($factory->create('bar', 10))); $this->assertFalse($obj1->equals($factory->create('bar', 10))); $this->assertFalse($obj2->equals($factory->create('foo', 10))); $this->assertFalse($obj1->equals($factory->create('foo', 0))); }
/** * @depends testDivideException */ public function testDivide() { $cur = new Currency('tst', 0); $amount1 = '1' . str_pad('', 20, '0'); $amount2 = '5' . str_pad('', 17, '0'); $obj1 = new Money($cur, $amount1); $obj2 = new Money($cur, $amount2); $this->assertTrue($obj2->equals($obj1->divide(200))); }