Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import unittest
- from Automat import Automat
- from Bank import Bank
- from Item import Item
- from exceptions.NoItemException import NoItemException
- class AutomatTest(unittest.TestCase):
- def test_checkPriceOfGivenID(self):
- bank = Bank()
- automat = Automat(bank)
- Cola = Item(2)
- automat.add_object(Cola)
- self.assertEqual(automat.find_price_of_given_id(30), 2)
- def test_checkPriceOfGivenIDWithInvalidID(self):
- bank = Bank()
- automat = Automat(bank)
- Cola = Item(2)
- automat.add_object(Cola)
- self.assertRaises(NoItemException, automat.find_price_of_given_id(31))
- if __name__ == '__main__':
- unittest.main()
- from Item import Item
- from exceptions.NoItemException import NoItemException
- from exceptions.NoProperAmountException import NoProperAmountException
- from Coin import Coin
- from decimal import *
- class Automat:
- def __init__(self, _bank, objects=None):
- self.item_id = 30
- self.bank = _bank
- if objects is None:
- objects = {}
- self.objects = objects
- self.purchaseItemBank = []
- def add_object(self, obj: Item):
- id_to_assign = self.item_id
- self.objects.update({id_to_assign: obj})
- self.item_id += 1
- return id_to_assign
- def find_price_of_given_id(self, item_id):
- if self.objects.get(item_id) is not None:
- return self.objects.get(item_id).get_price()
- else:
- raise NoItemException
- def find_amount_of_given_id(self, item_id):
- if self.objects.get(item_id) is not None:
- return self.objects.get(item_id).get_amount()
- else:
- raise NoItemException
- def checkIfAmountIsPositive(self, item_id):
- if self.objects.get(item_id) is not None:
- var = True if self.objects.get(item_id).get_amount() > 0 else False
- return var
- else:
- raise NoItemException
- def withdrawItem(self, item_id):
- self.objects.get(item_id).decrease()
- def getAmountOfGivenNominal(self, coinValue):
- counter = 0
- for iterator in self.bank.bank:
- if iterator.getCoinValue() == coinValue:
- counter += 1
- return counter
- Error
- Traceback (most recent call last):
- File "C:ProgramDataAnaconda3libunittestcase.py", line 59, in testPartExecutor
- yield
- File "C:ProgramDataAnaconda3libunittestcase.py", line 615, in run
- testMethod()
- File "C:UsersAdminPycharmProjectsvending-machineAutomatTest.py", line 22, in test_checkPriceOfGivenIDWithInvalidID
- self.assertRaises(NoItemException, automat.find_price_of_given_id(31))
- File "C:UsersAdminPycharmProjectsvending-machineAutomat.py", line 28, in find_price_of_given_id
- raise NoItemException
- exceptions.NoItemException.NoItemException
- Ran 1 test in 0.003s
- FAILED (errors=1)
- Process finished with exit code 1
- class Item:
- def __init__(self, price, amount=5):
- self.amount = amount
- self.price = price
- def get_price(self):
- return self.price
- def get_amount(self):
- return self.amount
- def decrease(self):
- self.amount -= 1
- def __str__(self):
- return f"{self.amount} @ {self.price}"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement