Esempio n. 1
0
 public function addDiscount(DiscountItem $discount)
 {
     $productName = $discount->getDiscountProductName();
     if (false === isset($this->discounts[$productName])) {
         $this->discounts[$productName] = array();
     }
     $this->discounts[$productName][] = $discount;
 }
Esempio n. 2
0
 /**
  * @dataProvider dataForAppleOfferTest
  */
 public function testApplePriceDiscount($expectedPrice, $quantity)
 {
     $discount = new DiscountItem(DiscountItem::DISCOUNT_TYPE_PRICE_ABOVE_QUANTITY, 'Apple', 5, 7);
     // 7 = 32 -25
     $this->assertEquals(DiscountItem::DISCOUNT_TYPE_PRICE_ABOVE_QUANTITY, $discount->getType());
     $apples = new CartItem(new CartProduct('Apple', 32, 'kg'), $quantity);
     $discountedPrice = $discount->getPrice($apples);
     $this->assertEquals($expectedPrice, $discountedPrice);
 }