test_warehouse_inventory.py 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import unittest
  2. from data_models.crate import Crate
  3. from data_models.warehouse_inventory import WarehouseInventory
  4. from data_models.workpiece import Workpiece, WorkpieceColor
  5. class TestWarehouseInventory(unittest.TestCase):
  6. def test_constructor(self):
  7. """ Test constructor """
  8. wi = WarehouseInventory()
  9. self.assertEqual(len(wi.inventory), 9)
  10. for location, item in wi.inventory.items():
  11. self.assertEqual(item.workpiece, None)
  12. def test_insert(self):
  13. """Test insertion"""
  14. wi = WarehouseInventory()
  15. wi.take(wi.get_loc_empty_crate()) # remove a crate
  16. crate = Crate(Workpiece(0, WorkpieceColor.RED))
  17. crate_location = wi.insert(crate)
  18. self.assertEqual(crate, wi.get(crate_location))
  19. def test_get_workpiece_crate(self):
  20. """ Test get_workpiece_crate() method """
  21. wi = WarehouseInventory()
  22. color = WorkpieceColor.RED
  23. crate = Crate(Workpiece(0, color))
  24. crate_location = wi.insert(crate)
  25. loc = wi.get_loc_workpiece_crate(color)
  26. self.assertEqual(crate_location, loc)
  27. self.assertEqual(crate, wi.get(loc))
  28. def test_is_full(self):
  29. """ Test is_full() method """
  30. wi = WarehouseInventory()
  31. for _ in range(9):
  32. self.assertFalse(wi.is_full())
  33. wi.take(wi.get_loc_empty_crate())
  34. wi.insert(Crate(Workpiece(0, WorkpieceColor.RED)))
  35. self.assertTrue(wi.is_full())
  36. if __name__ == '__main__':
  37. unittest.main()