public function testRemoveType() { $type = new AddressType('testAddressType'); $this->address->addType($type); $this->assertCount(1, $this->address->getTypes()); $this->address->removeType($type); $this->assertEmpty($this->address->getTypes()->toArray()); }
/** * @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)); } }