def test_digest_does_nothing_if_the_cargo_container_cannot_unload_requirements_or_load_products(self):  # noqa
		tray = SlottedCargoContainer()
		tray.add_resource_slot(Fish,    10)
		tray.add_resource_slot(Wood,    10)
		tray.add_resource_slot(Cabbage, 10)
		tray.load_cargo(Fish,    3)
		tray.load_cargo(Wood,    5)
		tray.load_cargo(Cabbage, 4)

		plant1 = ResourcePlant()
		plant1.add_resource_requirement(Fish, 4)
		plant1.add_resource_requirement(Wood, 2)
		plant1.add_resource_product(Cabbage, 6)
		plant1.digest(tray)
		self.assertEqual(tray.cargo_slots[Fish.name]['load'],    3)
		self.assertEqual(tray.cargo_slots[Wood.name]['load'],    5)
		self.assertEqual(tray.cargo_slots[Cabbage.name]['load'], 4)

		plant2 = ResourcePlant()
		plant2.add_resource_requirement(Fish, 3)
		plant2.add_resource_requirement(Wood, 2)
		plant2.add_resource_product(Cabbage, 7)
		plant2.digest(tray)
		self.assertEqual(tray.cargo_slots[Fish.name]['load'],    3)
		self.assertEqual(tray.cargo_slots[Wood.name]['load'],    5)
		self.assertEqual(tray.cargo_slots[Cabbage.name]['load'], 4)
	def test_digest_consumes_required_resources_and_produces_resource_products(self):  # noqa
		tray = SlottedCargoContainer()
		tray.add_resource_slot(Fish,    10)
		tray.add_resource_slot(Wood,    10)
		tray.add_resource_slot(Cabbage, 10)
		tray.load_cargo(Fish,    3)
		tray.load_cargo(Wood,    5)
		tray.load_cargo(Cabbage, 4)

		plant = ResourcePlant()
		plant.add_resource_requirement(Fish, 3)
		plant.add_resource_requirement(Wood, 2)
		plant.add_resource_product(Cabbage, 6)
		plant.digest(tray)

		self.assertEqual(tray.cargo_slots[Fish.name]['load'],    0)
		self.assertEqual(tray.cargo_slots[Wood.name]['load'],    3)
		self.assertEqual(tray.cargo_slots[Cabbage.name]['load'], 10)