/**
  * Create a {@link ShoppingCart} object and give
  * it some test {@link OrderItem} objects.
  *
  * @return object ShoppingCart
  */
 public static function createCartWithItems()
 {
     $item1 = new ProductVariation_OrderItem(array('ProductVariationID' => 2, 'Version' => 1));
     $item2 = new ProductVariation_OrderItem(array('ProductVariationID' => 1, 'Version' => 1));
     $cart = new ShoppingCart();
     $cart->addItem(2, $item1);
     $cart->addItem(1, $item2);
     return $cart;
 }
Exemple #2
0
        //method 'gets' how much total of all items with tax
        $afterTax = $this->getTaxAmount() + $this->getCostBeforeTax();
        return $afterTax;
    }
}
class Item
{
    // creates item class
    public $name;
    public $price;
    public function __construct($name, $price)
    {
        // construct allows to set name and price for each item
        $this->name = $name;
        $this->price = $price;
    }
}
$cart = new ShoppingCart();
$cart->addItem(new Item('Cheap Book', 2.99));
$cart->addItem(new Item('Expensive Book', 24.99));
$cart->addItem(new Item('Movie', 12.99));
$cart->addItem(new Item('Video Game', 59.99));
echo "<p>Total cost before tax: \${$cart->getCostBeforeTax()}</p>";
echo "<p>Tax amount: \${$cart->getTaxAmount()}</p>";
echo "<p>Total cost after tax: \${$cart->getCostAfterTax()}</p>";
?>

</p>

</body>
</html>
Exemple #3
0
 /**
  * @testdox ShoppingCart::getShippingAmount() will call ShippingMethod::getShippingAmount() to calculates the shipping amount.
  */
 public function testGetShippingAmountWillCallShippingMethodToCalculatesTheShippingAmount()
 {
     $cart = new ShoppingCart();
     $cart->addItem(new Product(123, 'item 0', 100, 1, 2, 15, 30), 2);
     $shippingFrom = '14400000';
     $shippingTo = '01000000';
     $shippingMethod = $this->getMock('\\Neto\\Commerce\\Shipping\\ShippingMethod', array('getShippingAmount'));
     $shippingMethod->expects($this->at(0))->method('getShippingAmount')->with($cart, $shippingFrom, $shippingTo);
     $cart->getShippingAmount($shippingMethod, $shippingFrom, $shippingTo);
 }
<?php

function __autoload($class)
{
    require_once '../class.' . $class . ".php";
}
$book = new Book('PHP Object-Oriented Solutions', 300);
$cart = new ShoppingCart();
$cart->addItem($book);
$movie = new Dvd('Gladiator', '120 minutes');
$cart->addItem($movie);