def test_fulfill_order_multi_items(self): order = {"apple": 5, "banana": 5, "orange": 5} inventory_info = [{ "name": "owd", "inventory": { "apple": 5, "orange": 10 } }, { "name": "dm", "inventory": { "banana": 5, "orange": 10 } }] inventory = Inventory.load_inventory_data(inventory_info) final_shipment = inventory.fulfill_order(order) expected_shipment = [{ 'dm': { 'banana': 5 } }, { 'owd': { 'apple': 5, 'orange': 5 } }] self.assertEqual(final_shipment, expected_shipment)
def test_fulfill_order_one_warehouse(self): order = {"apple": 1} inventory_info = [{"name": "owd", "inventory": {"apple": 1}}] inventory = Inventory.load_inventory_data(inventory_info) final_shipment = inventory.fulfill_order(order) expected_shipment = [{"owd": {"apple": 1}}] self.assertEqual(final_shipment, expected_shipment)
def main(): order_json_path = os.path.join(".", "data", "order.json") order = Utils.json_file_to_dict(order_json_path) inventory_json_path = os.path.join(".", "data", "inventory.json") inventory_info = Utils.json_file_to_dict(inventory_json_path) inventory = Inventory.load_inventory_data(inventory_info["warehouses"]) final_shipment = inventory.fulfill_order(order) print(final_shipment)