-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest_inventory.py
34 lines (27 loc) · 1.25 KB
/
test_inventory.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import unittest
from inventory import Inventory
class TestInventory(unittest.TestCase):
def setUp(self):
self.inventory = Inventory()
def test_add_item(self):
self.inventory.add_item("apple", 10)
self.inventory.add_item("banana", 5)
self.assertEqual(self.inventory.get_inventory()["apple"], 10)
self.assertEqual(self.inventory.get_inventory()["banana"], 5)
def test_remove_item(self):
self.inventory.add_item("apple", 10)
result = self.inventory.remove_item("apple", 5)
self.assertTrue(result)
self.assertEqual(self.inventory.get_inventory()["apple"], 5)
result = self.inventory.remove_item("apple", 10)
self.assertFalse(result) # Not enough apples to remove
def test_remove_nonexistent_item(self):
result = self.inventory.remove_item("orange", 1)
self.assertFalse(result) # Cannot remove an item that doesn't exist
def test_get_inventory(self):
self.inventory.add_item("apple", 10)
self.inventory.add_item("banana", 5)
inventory = self.inventory.get_inventory()
self.assertEqual(inventory, {"apple": 10, "banana": 5})
if __name__ == '__main__':
unittest.main()