Ejemplo n.º 1
0
 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());
 }
Ejemplo n.º 2
0
 /**
  * @param AbstractTypedAddress $address
  */
 public function updateAddressTypes(AbstractTypedAddress $address)
 {
     $addressTypes = $address->getTypes();
     foreach ($addressTypes as $index => $type) {
         $addressTypes->set($index, $this->updateAddressType($type->getName()));
     }
 }
 /**
  * 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);
         }
     }
 }