def main(): print("====> first cart") cart = ShoppingCart() cart.add_item() cart.remove_item() cart.add_item() cart.add_item() cart.add_item() cart.remove_item() cart.checkout() cart.pay() # Go shopping again print("====> second cart") cart = ShoppingCart() cart.add_item() cart.add_item() cart.checkout() cart.empty_cart() cart.add_item() cart.checkout() cart.pay() # Try to add another item print('====> Expect an error here.') cart.add_item()
def test_shopping_cart_handle_offers_ten_percent_discount(self): catalog = FakeCatalog() toothbrush = Product("toothbrush", ProductUnit.EACH) apples = Product("apples", ProductUnit.KILO) catalog.add_product(toothbrush, 0.99) catalog.add_product(apples, 1.99) # teller special offers 10% discount on toothbrush teller = Teller(catalog) teller.add_special_offer(SpecialOfferType.TEN_PERCENT_DISCOUNT, toothbrush, 10.0) #offers = teller.offers #discount = Discount(product, "2 for " + str(offer.argument), discount_n) # add apples to shopping cart cart = ShoppingCart() cart.add_item_quantity(apples, 2.5) #cart.add_item_quantity(toothbrush, 2) receipt = teller.checks_out_articles_from(cart) # add apples to shopping cart : check no discounts and 1 item self.assertEqual([], receipt.discounts) self.assertEqual(len(cart.items), len(receipt.items)) receipt_item = receipt.items[0] self.assertEqual(apples, receipt_item.product) self.assertEqual(catalog.unit_price(apples), receipt_item.price) self.assertEqual(cart.product_quantities[apples], receipt_item.quantity) self.assertAlmostEqual( cart.product_quantities[apples] * catalog.unit_price(apples), receipt.total_price(), 0.01)
def test_shopping_cart_add_item(self): cart = ShoppingCart() apples = Product("apples", ProductUnit.KILO) self.assertEqual(0, len(cart._items)) cart.add_item(apples) self.assertEqual(1, len(cart._items))
def setUp(self): """ Método que se ejecuta antes de cada prueba """ self.pan = Item('pan', 12) self.jugo = Item('jugo', 5) self.shopping_cart = ShoppingCart() self.shopping_cart.add_item(self.pan)
def setUp(self): #print("Método setUp antes de la prueba") self.pan = Item("Pan",7.0) self.jugo = Item("Jugo",5.0) self.shopping_cart = ShoppingCart() self.shopping_cart.add_item(self.pan)
def test_ten_percent_discount(): catalog = FakeCatalog() toothbrush = Product("toothbrush", ProductUnit.EACH) catalog.add_product(toothbrush, 0.99) apples = Product("apples", ProductUnit.KILO) catalog.add_product(apples, 1.99) teller = Teller(catalog) teller.add_special_offer(SpecialOfferType.TEN_PERCENT_DISCOUNT, toothbrush, 10.0) cart = ShoppingCart() cart.add_item_quantity(apples, 2.5) receipt = teller.checks_out_articles_from(cart) assert 4.975 == pytest.approx(receipt.total_price(), 0.01) assert [] == receipt.discounts assert 1 == len(receipt.items) receipt_item = receipt.items[0] assert apples == receipt_item.product assert 1.99 == receipt_item.price assert 2.5 * 1.99 == pytest.approx(receipt_item.total_price, 0.01) assert 2.5 == receipt_item.quantity
def test_no_bulk_discount(): cart = ShoppingCart() product = 'Chair' cart.scan(product) cart.scan(product) assert cart.total_price() == 200
def test_shopping_cart_add_item_quantity(self): cart = ShoppingCart() apples = Product("apples", ProductUnit.KILO) cart.add_item_quantity(apples, 2.5) self.assertEqual(2.5, cart.product_quantities[apples]) cart.add_item_quantity(apples, 1.2) self.assertEqual(3.7, cart.product_quantities[apples])
def test_validate_input_2(self): cart_items = list([ CartItem(Item(True, True), 10.00), CartItem(Item(False, True), 47.50), ]) shopping_cart = ShoppingCart(cart_items) assert shopping_cart.calculate_sales_tax() == "7.65" assert shopping_cart.calculate_total() == "65.15"
def test_buy_1_get_1_free_cushion(): cart = ShoppingCart() product = 'Cushion' cart.scan(product) cart.scan(product) assert cart.total_price() == 25
def test_validate_input_1(self): cart_items = list([ CartItem(Item(True, False), 12.49), CartItem(Item(False, False), 14.99), CartItem(Item(True, False), 0.85), ]) shopping_cart = ShoppingCart(cart_items) assert shopping_cart.calculate_sales_tax() == "1.50" assert shopping_cart.calculate_total() == "29.83"
def get(self, request): # request.session.clear() cart_exists = request.session.get('shoppingCart', None) if not cart_exists: shoppingCart = ShoppingCart() request.session['shoppingCart'] = shoppingCart.to_dictionary() return JsonResponse(request.session['shoppingCart'])
def test_validate_input_3(self): cart_items = list([ CartItem(Item(False, True), 27.99), CartItem(Item(False, False), 18.99), CartItem(Item(True, False), 9.75), CartItem(Item(True, True), 11.25) ]) shopping_cart = ShoppingCart(cart_items) assert shopping_cart.calculate_sales_tax() == "6.70" assert shopping_cart.calculate_total() == "74.68"
def test_add_multiple_products_to_cart(): cart = ShoppingCart() product1 = 'Chair' product2 = 'Sofa' product3 = 'Cushion' cart.scan(product1) cart.scan(product2) cart.scan(product3) assert cart.total_price() == 625
def main(): shopping_cart = ShoppingCart() item_1 = Item("Banana", 2.5) item_2 = Item("Juice", 1.7) shopping_cart.add_item(item_1) shopping_cart.add_item(item_2) # shopping_cart.pay(PaypalPayment("*****@*****.**", "123456")) shopping_cart.pay( CreditCardPayment("Ivan Ivanov", "1234 1234 1234 1234", "10/21", "123"))
def main(): cart = ShoppingCart() cart.add_item() cart.remove_item() cart.add_item() cart.add_item() cart.add_item() cart.remove_item() cart.checkout() cart.paid_for() cart.add_item() cart.checkout() cart.paid_for()
def post(self, request): cart = json.loads(request.body) cart['unsavedChanges'] = False cart['checkoutStatus']['review'] = False if cart['totalItems'] == 0: shoppingCart = ShoppingCart() request.session['shoppingCart'] = shoppingCart.to_dictionary() return JsonResponse( {'shoppingCart': request.session['shoppingCart']}) else: request.session['shoppingCart'] = cart return JsonResponse({'status': True})
def test_shopping_handle_offers_no_offers(self): catalog = FakeCatalog() toothbrush = Product("toothbrush", ProductUnit.EACH) receipt_toothbrush = ReceiptItem(toothbrush, 2, 1.5, 3) receipt = Receipt() receipt.items = [receipt_toothbrush] receipt_offers = {} cart = ShoppingCart() cart._items = [toothbrush] cart._product_quantities = {toothbrush: 2} cart.handle_offers(receipt, receipt_offers, catalog) self.assertEqual([], receipt.discounts)
def setUp(self): """Setting up the ShoppingCart Class""" self.my_cart = ShoppingCart() self.my_cart2 = Shop()
def setUp(self): self.bread = Item('Bread', 3.5) self.beer = Item('Beer', 1.75) self.shopping_cart = ShoppingCart() self.shopping_cart.add_item({'item':self.bread, 'quantity': 2})
def create_cart(cls): return ShoppingCart( publishing_house_catalog=cls.get_publishing_house_catalog())
from product import Product from shopping_cart import ShoppingCart from payment_strategies import BlikStrategy, CreditCardStrategy if __name__ == '__main__': product1 = Product('Banana', 4.99) product2 = Product('Apple', 2.99) cart = ShoppingCart() cart.add_product(product1) cart.add_product(product2) cart.pay(BlikStrategy('*****@*****.**', '123456')) cart.pay( CreditCardStrategy('4111 1111 4555 1142', 'Jon Snow', '456', '09/27'))
def setUp(self): """ Setting up the instance and assigning attributes for testing """ self.my_cart = ShoppingCart() self.my_cart_2 = Shop()
import sys from customer import Customer from shopping_cart import ShoppingCart args = sys.argv if len(args) != 2: raise Exception("Invalid argument.") username = args[1] try: customer = Customer.get_customer_by_username(username) if not customer: raise Exception("Customer is not found.") shopping_cart = ShoppingCart(customer.get_id()) shopping_cart.print_orders() except Exception as e: print(e)
def __init__(self, discounts: Discounts) -> None: self.shopping_cart = ShoppingCart(discounts)
def new(self, car_id: ShoppingCart()): pass
from shopping_cart import ShoppingCart shopping_cart = ShoppingCart() shopping_cart.add_item("rainbow sandals", 45.99) shopping_cart.add_item("agyle socks", 10.50) shopping_cart.add_item("jeans", 50.00, 3) shopping_cart.add_item("plants", 20.00, 2) print(shopping_cart.get_total()) print(shopping_cart.median_item_price()) # 50.00 <<< how is that the answer to the median question? should be $45.99 when have the 1st 3 items in cart print(shopping_cart.mean_item_price()) discount_shopping_cart = ShoppingCart(20) print(shopping_cart.apply_discount()) print(shopping_cart.item_names()) print(shopping_cart.void_last_item())
def setUp(self): self.cart = ShoppingCart() self.product1 = 'Wine' # 500 self.product2 = 'BBQ Grill' # 100 self.product3 = 'Beer' # 25
def setUp(self): self.carrot = Item('Carrot', 900) self.strawberry = Item('Strawberry', 500) self.apple = Item('Apple', 700) self.shopping_cart = ShoppingCart() self.shopping_cart.add_item(self.strawberry)
def setUp(self): self.pan = Item("Pan", 7.0) self.jugo = Item("Jugo", 5.0) self.shopping_cart = ShoppingCart() self.shopping_cart.add_item(self.pan)