/**
  * Add price (removing the older one)
  *
  * @param AbstractProductPrice $price
  *
  * @return ProductValue
  */
 public function addPrice(AbstractProductPrice $price)
 {
     if (null !== ($actualPrice = $this->getPrice($price->getCurrency()))) {
         $this->removePrice($actualPrice);
     }
     $this->prices->add($price);
     $price->setValue($this);
     return $this;
 }
 function it_normalizes_empty_price(AbstractProductPrice $price)
 {
     $price->getData()->willReturn('');
     $price->getCurrency()->willReturn('EUR');
     $this->normalize($price, null, ['field_name' => 'price'])->shouldReturn(['price-EUR' => '']);
 }
 function it_normalizes_price(AbstractProductPrice $price)
 {
     $price->getData()->willReturn('12.75');
     $price->getCurrency()->willReturn('EUR');
     $this->normalize($price, 'mongodb_json', [])->shouldReturn(['data' => '12.75', 'currency' => 'EUR']);
 }