/** * Hydrate an array to a money object * * This hydrator breaks the hydration pattern as it returns a new instance * As money objects are immutable, the object given in $object cannot be changed * * @param array $data * @param mixed $object * @return Money */ public function hydrate(array $data, $object) { $currency = new Currency($data['currency']); $amount = (int) ($data['amount'] * $currency->getSubUnit()); $object = new Money($amount, $currency); return $object; }
/** * @covers \NetglueMoney\Money\Currency::getSubUnit * @depends testObjectCanBeConstructedForValidConstructorArgument */ public function testSubUnitCanBeRetrieved(Currency $c) { $this->assertEquals(100, $c->getSubUnit()); }