def test_unload_cargo_decreases_load_of_container(self): bag = MixedCargoContainer() bag.set_weight_capacity(Fish.weight * 10) bag.get_slot(Fish)['load'] = 1 load = bag.unload_cargo(Fish, 1) self.assertEqual(bag.current_load(Fish), 0) self.assertEqual(load, 1)
def test_unload_cargo_decreases_load_of_container_and_returns_all_available_cargo_up_to_the_requested_quantity(self): # noqa bag = MixedCargoContainer() bag.set_weight_capacity(Fish.weight * 10) bag.get_slot(Fish)['load'] = 3 load = bag.unload_cargo(Fish, 7) self.assertEqual(bag.current_load(Fish), 0) self.assertEqual(load, 3)
def test_load_cargo_returns_entire_load_if_slot_is_already_at_capacity(self): # noqa bag = MixedCargoContainer() bag.set_weight_capacity(Fish.weight * 3) bag.get_slot(Fish)['load'] = 3 remains = bag.load_cargo(Fish, 7) self.assertEqual(bag.current_load(Fish), 3) self.assertEqual(remains, 7)
def test_current_load_returns_the_current_number_of_resource_type_held_in_the_container(self): # noqa bag = MixedCargoContainer() bag.set_weight_capacity(100) slot = bag.get_slot(Fish) slot['load'] = 3 slot = bag.get_slot(Cabbage) slot['load'] = 5 self.assertEqual(bag.current_load(Fish), 3)
def test_load_cargo_increases_load_of_slot_if_bag_can_hold_the_resource_and_returns_excess_that_could_not_be_loaded(self): # noqa bag = MixedCargoContainer() bag.set_weight_capacity(Fish.weight * 5 - 1) remains = bag.load_cargo(Fish, 7) self.assertEqual(bag.current_load(Fish), 4.5) self.assertEqual(remains, 2.5)
def test_load_cargo_increases_load_of_container(self): bag = MixedCargoContainer() bag.set_weight_capacity(Fish.weight * 10) remains = bag.load_cargo(Fish, 1) self.assertEqual(bag.current_load(Fish), 1) self.assertEqual(remains, 0)
def test_unload_cargo_returns_nothing_if_bag_has_no_resources_of_requested_type(self): # noqa bag = MixedCargoContainer() bag.set_weight_capacity(Fish.weight * 10) load = bag.unload_cargo(Fish, 7) self.assertEqual(bag.current_load(Fish), 0) self.assertEqual(load, 0)