Пример #1
0
def test_return_change_correct_amount():
    vending_machine = VendingMachine()
    vending_machine.insert_dollar()
    vending_machine.insert_dollar()
    your_stuff: (Item, MoneyStack) = vending_machine.vend_item('C')
    assert your_stuff[1].nickels == 0
    assert your_stuff[1].dimes == 0
    assert your_stuff[1].quarters == 2
    assert your_stuff[1].dollars == 0
Пример #2
0
def test_service():
    vending_machine = VendingMachine()
    vending_machine.service()  # Note : this is called as part of the constructor, but calling it again will do no harm
    assert len(vending_machine.item_slots['A']) == 2
    assert len(vending_machine.item_slots['B']) == 2
    assert len(vending_machine.item_slots['C']) == 2
    assert vending_machine.machine_stack.nickels == 50
    assert vending_machine.machine_stack.dimes == 50
    assert vending_machine.machine_stack.quarters == 50
    assert vending_machine.machine_stack.dollars == 50
Пример #3
0
def test_vend_item():
    vending_machine = VendingMachine()
    vending_machine.insert_dollar()
    your_stuff: (Item, MoneyStack) = vending_machine.vend_item('B')
    assert your_stuff[0].name == "Mars Bars"
    assert your_stuff[0].price == 100
    assert your_stuff[1].dollars == 0
    assert your_stuff[1].quarters == 0
    assert your_stuff[1].dimes == 0
    assert your_stuff[1].nickels == 0
Пример #4
0
def test_return_change_not_enough_coins():
    vending_machine = VendingMachine()
    vending_machine.machine_stack.nickels = 0
    vending_machine.machine_stack.dimes = 0
    vending_machine.machine_stack.quarters = 0
    vending_machine.machine_stack.dollars = 0
    vending_machine.insert_dollar()
    your_stuff: (Item, MoneyStack) = vending_machine.vend_item('A')
    assert your_stuff[1].nickels == 0
    assert your_stuff[1].dimes == 0
    assert your_stuff[1].quarters == 0
    assert your_stuff[1].dollars == 0
Пример #5
0
def main():
    vending_machine: VendingMachine = VendingMachine()
    while True:
        command: str = input("---> ")
        if command == "n":
            vending_machine.insert_nickel()
        if command == "d":
            vending_machine.insert_dime()
        if command == "q":
            vending_machine.insert_quarter()
        if command == "D":
            vending_machine.insert_dollar()
        if command in ("cr", "CR"):
            vending_machine.coin_return()
        if command == "service":
            vending_machine.service()
        if command == "get-a":
            vending_machine.vend_item('A')
        if command == "get-b":
            vending_machine.vend_item('B')
        if command == "get-c":
            vending_machine.vend_item('C')
        if command == "stock":
            vending_machine.print_stock()
Пример #6
0
def test_vend_item_not_enough_money():
    vending_machine = VendingMachine()
    your_stuff: (Item, MoneyStack) = vending_machine.vend_item('B')
    assert your_stuff is None
Пример #7
0
def test_vending_machine_creation():
    vending_machine = VendingMachine()
    assert vending_machine.machine_stack.get_total_value() == 7000
    assert vending_machine.vending_stack.get_total_value() == 0
Пример #8
0
def test_coin_return():
    vending_machine = VendingMachine()
    vending_machine.insert_nickel()
    vending_machine.insert_dime()
    vending_machine.insert_quarter()
    vending_machine.insert_dollar()
    returned_coins: MoneyStack = vending_machine.coin_return()
    assert returned_coins.dollars == 1
    assert returned_coins.quarters == 1
    assert returned_coins.dimes == 1
    assert returned_coins.nickels == 1
Пример #9
0
def test_insert_dollar():
    vending_machine = VendingMachine()
    vending_machine.insert_nickel()
    assert vending_machine.vending_stack.nickels == 1
Пример #10
0
def test_insert_quarter():
    vending_machine = VendingMachine()
    vending_machine.insert_quarter()
    assert vending_machine.vending_stack.quarters == 1
Пример #11
0
def test_insert_dime():
    vending_machine = VendingMachine()
    vending_machine.insert_dime()
    assert vending_machine.vending_stack.dimes == 1