def test_retail_price(self): terminal = PointOfSaleTerminal() set_pricing(terminal) for code in "ABCD": terminal.scan(code) result = terminal.calculate_total() self.assertEqual(result, 7.25)
def test_both_prices(self): terminal = PointOfSaleTerminal() set_pricing(terminal) for code in "CCCCCCC": terminal.scan(code) result = terminal.calculate_total() self.assertEqual(result, 6)
def test_retail_volume_price_different_products(self): terminal = PointOfSaleTerminal() set_pricing(terminal) for code in "ABCDABA": terminal.scan(code) result = terminal.calculate_total() self.assertEqual(result, 13.25)
def main(): terminal = PointOfSaleTerminal() set_pricing(terminal) cases = ["ABCDABA", "CCCCCCC", "ABCD"] for case in cases: terminal.create_new_order() for code in case: terminal.scan(code) result = terminal.calculate_total() print(f"Case: {case}\nResult: {result}\n\n") case = "BBBAAA" terminal.registered_discount_cards.register_card("special_card", 1500) terminal.create_new_order() for code in case: terminal.scan(code) terminal.scan_discount_card("special_card") result, card = terminal.finish_order() print(f"Case: {case}\nResult: {result}\n{card}\n")