public function testGetTypeByName() { $addressType = new AddressType('billing'); $this->address->addType($addressType); $this->assertSame($addressType, $this->address->getTypeByName('billing')); $this->assertNull($this->address->getTypeByName('shipping')); }
/** * @param AbstractTypedAddress $localAddress * @param AbstractTypedAddress $remoteAddress */ public function mergeAddressTypes(AbstractTypedAddress $localAddress, AbstractTypedAddress $remoteAddress) { $newAddressTypes = array_diff($remoteAddress->getTypeNames(), $localAddress->getTypeNames()); $deletedAddressTypes = array_diff($localAddress->getTypeNames(), $remoteAddress->getTypeNames()); foreach ($deletedAddressTypes as $addressType) { $localAddress->removeType($localAddress->getTypeByName($addressType)); } foreach ($newAddressTypes as $addressType) { $localAddress->addType($remoteAddress->getTypeByName($addressType)); } }