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
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
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
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