def test_max_storage(): storage = ResourceStorage.ResourceStorage("", "energy", 20) assert storage.max_amount_stored == -1 storage_with_max = ResourceStorage.ResourceStorage("", "energy", 20, max_storage=200) assert storage_with_max.max_amount_stored == 200
def test_giveResourceTwice(): storage = ResourceStorage.ResourceStorage("", "water", 20) storage.giveResource("water", 10) storage.giveResource("water", 20) assert storage.amount_stored == 50 assert storage.getResourcesReceivedThisTick() == {"water": 30}
def test_updateReservations(requested, received): storage = ResourceStorage.ResourceStorage("", "energy", 20) connections = [] for request in requested: connections.append(MagicMock(reserved_requested_amount=request)) storage.getAllOutgoingConnectionsByType = MagicMock( return_value=connections) storage.updateReservations() for idx, received in enumerate(received): assert connections[idx].reserved_available_amount == received
def test_deserialize(): storage = ResourceStorage.ResourceStorage("", "energy", 20) assert storage.amount_stored == 20 storage.deserialize({ 'node_id': '', 'resources_received_this_tick': {}, 'resources_produced_this_tick': {}, 'resources_left_over': {}, 'temperature': 293.15, 'amount_stored': 120 }) assert storage.amount_stored == 120
def test_weight_energy(): storage = ResourceStorage.ResourceStorage("", "energy", 20) storage_2 = ResourceStorage.ResourceStorage("", "energy", 500) # Energy storage should always be the same weight as eachoter (because energy doesn't have extra weight. assert storage.weight == storage_2.weight
def test_serialize(): storage = ResourceStorage.ResourceStorage("", "energy", 291) assert storage.serialize()["amount_stored"] == 291
def test_giveResource(requested, stored, max_storage, resource_type): storage = ResourceStorage.ResourceStorage("", "water", 20, max_storage) assert storage.giveResource(resource_type, requested) == stored assert storage._amount == 20 + stored
def test_preGiveResource(requested, stored, max_storage, resource_type): storage = ResourceStorage.ResourceStorage("", "water", 20, max_storage) assert storage.preGiveResource(resource_type, requested) == stored
def test_getResource(requested, gained, resource_type): storage = ResourceStorage.ResourceStorage("", "water", 20) assert storage.getResource(resource_type, requested) == gained assert storage._amount == 20 - gained
def test_preGetResource(requested, gained, resource_type): storage = ResourceStorage.ResourceStorage("", "water", 20) assert storage.preGetResource(resource_type, requested) == gained
def test_weight_water(): energy_store = ResourceStorage.ResourceStorage("", "energy", 20) water_store = ResourceStorage.ResourceStorage("", "water", 20) assert water_store.weight > energy_store.weight