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());
 }
Esempio n. 2
0
 /**
  * @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));
     }
 }