public function testPrice()
 {
     $value = 1.1;
     $currency = 'USD';
     $price = new Price();
     $price->setCurrency($currency);
     $price->setValue($value);
     $item = new BaseQuoteProductItem();
     $item->setPrice($price);
     static::assertSame($price, $item->getPrice());
     $item->postLoad();
     static::assertNotSame($price, $item->getPrice());
     static::assertEquals($price, $item->getPrice());
     $item->updatePrice();
     $reflection = new \ReflectionProperty(get_class($item), 'value');
     $reflection->setAccessible(true);
     static::assertEquals($value, $reflection->getValue($item));
     $reflection = new \ReflectionProperty(get_class($item), 'currency');
     $reflection->setAccessible(true);
     static::assertEquals($currency, $reflection->getValue($item));
 }
 /**
  * @param OptionalPrice $price
  * @return $this
  */
 public function setPrice($price = null)
 {
     return parent::setPrice($price);
 }