public function testIsEmpty()
 {
     $this->assertTrue($this->address->isEmpty());
     $this->address->setPrimary(true);
     $this->assertFalse($this->address->isEmpty());
     $this->address->setPrimary(false);
     $this->address->addType(new AddressType('billing'));
     $this->assertFalse($this->address->isEmpty());
 }
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));
     }
 }
 /**
  * Two addresses must not have same types
  *
  * @param AbstractTypedAddress $address
  * @param AbstractTypedAddress[] $allAddresses
  */
 protected function handleType(AbstractTypedAddress $address, $allAddresses)
 {
     $types = $address->getTypes()->toArray();
     if (count($types)) {
         foreach ($allAddresses as $otherAddresses) {
             foreach ($types as $type) {
                 $otherAddresses->removeType($type);
             }
         }
         foreach ($types as $type) {
             $address->addType($type);
         }
     }
 }