public function testGetRecursivePriceWithOptions()
 {
     $choice = new \SpeckCatalog\Model\Choice\Relational();
     $option = new \SpeckCatalog\Model\Option\Relational();
     $option->setRequired(true);
     $nestedChoice = new \SpeckCatalog\Model\Choice\Relational();
     $optionMock = $this->getMockBuilder('\\SpeckCatalog\\Model\\Option\\Relational')->getMock();
     $optionMock->expects($this->atLeastOnce())->method('getAdjustedPrice')->will($this->returnValue(1000));
     $choice->setParent($optionMock);
     $option->addChoice($nestedChoice);
     $choice->addOption($option);
     $this->assertEquals(0, $choice->getRecursivePrice(1000));
     $choice->setPriceDiscountFixed(100);
     $this->assertEquals(-100, $choice->getRecursivePrice(1000));
     $choice->setPriceDiscountFixed(null);
     $nestedChoice->setPriceDiscountFixed(100);
     $this->assertEquals(-100, $choice->getRecursivePrice(1000));
     $nestedChoice->setPriceDiscountFixed(null);
     $nestedChoice->setPriceDiscountPercent(10);
     $this->assertEquals(-100, $choice->getRecursivePrice(1000));
     $nestedChoice->setPriceDiscountPercent(null);
     $nestedChoice->setPriceOverrideFixed(500);
     $this->assertEquals(-500, $choice->getRecursivePrice(1000));
     $nestedChoice->setPriceOverrideFixed(null);
     $nestedChoice->setPriceNoCharge(1);
     $this->assertEquals(-1000, $choice->getRecursivePrice(1000));
 }