public function testGetDefaults()
 {
     $this->assertCount(0, $this->address->getDefaults());
     $this->assertInstanceOf('Doctrine\\Common\\Collections\\ArrayCollection', $this->address->getDefaults());
     $this->assertFalse($this->address->hasDefault('billing'));
     $this->assertFalse($this->address->hasDefault('shipping'));
     $this->address->addType($this->billingType);
     $this->address->addType($this->shippingType);
     $this->assertCount(0, $this->address->getDefaults());
     $this->address->setDefaults([$this->billingType, $this->shippingType]);
     $this->assertCount(2, $this->address->getDefaults());
     $this->assertTrue($this->address->hasDefault('billing'));
     $this->assertTrue($this->address->hasDefault('shipping'));
 }
 /**
  * @param EntityManager $manager
  * @param array $addressData
  * @param AbstractDefaultTypedAddress $address
  */
 protected function addAddress(EntityManager $manager, array $addressData, AbstractDefaultTypedAddress $address)
 {
     $defaults = [];
     foreach ($addressData['types'] as $type => $isDefault) {
         /** @var AddressType $addressType */
         $addressType = $manager->getReference('Oro\\Bundle\\AddressBundle\\Entity\\AddressType', $type);
         $address->addType($addressType);
         if ($isDefault) {
             $defaults[] = $addressType;
         }
     }
     /** @var Country $country */
     $country = $manager->getReference('OroAddressBundle:Country', $addressData['country']);
     /** @var Region $region */
     $region = $manager->getReference('OroAddressBundle:Region', $addressData['country'] . '-' . $addressData['region']);
     $address->setDefaults($defaults);
     $address->setPrimary($addressData['primary'])->setStreet($addressData['street'])->setCity($addressData['city'])->setPostalCode($addressData['postalCode'])->setCountry($country)->setRegion($region);
     $manager->persist($address);
     $this->addReference($addressData['label'], $address);
 }