/**
  * Test getter/setter for translations property
  */
 public function testTranslations()
 {
     $this->assertCount(0, $this->attribute->getTranslations());
     // Change value and assert new
     $newTranslation = new AttributeTranslation();
     $this->assertEntity($this->attribute->addTranslation($newTranslation));
     $this->assertCount(1, $this->attribute->getTranslations());
     $this->assertInstanceOf('Pim\\Bundle\\CatalogBundle\\Entity\\AttributeTranslation', $this->attribute->getTranslations()->first());
     $this->attribute->addTranslation($newTranslation);
     $this->assertCount(1, $this->attribute->getTranslations());
     $this->assertEntity($this->attribute->removeTranslation($newTranslation));
     $this->assertCount(0, $this->attribute->getTranslations());
 }
 /**
  * Get attribute translation for given locale code
  * @param AbstractAttribute $attribute
  * @param string            $localeCode
  * @param string            $defaultLocale
  *
  * @return mixed
  */
 protected function getAttributeTranslation(AbstractAttribute $attribute, $localeCode, $defaultLocale)
 {
     foreach ($attribute->getTranslations() as $translation) {
         if (strtolower($translation->getLocale()) == strtolower($localeCode) && $translation->getLabel() !== null) {
             return $translation->getLabel();
         }
     }
     if ($localeCode === $defaultLocale) {
         return $attribute->getCode();
     } else {
         return $this->getAttributeTranslation($attribute, $defaultLocale, $defaultLocale);
     }
 }