Пример #1
0
 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)
Пример #2
0
 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)
Пример #3
0
 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)
Пример #4
0
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")