Exemple #1
0
 def test_error_when_retrieve_by_name(self, get_intervention):
     water_treatment_plant = get_intervention
     register = InterventionRegister()
     register.register(water_treatment_plant)
     with raises(ValueError) as excinfo:
         register.get_intervention('not_here')
     expected = "Intervention 'not_here' not found in register"
     assert str(excinfo.value) == expected
Exemple #2
0
def build_register_two(build_intervention_es, build_intervention_ws):
    water = Intervention(data=build_intervention_ws)
    energy = Intervention(data=build_intervention_es)

    register = InterventionRegister()
    register.register(energy)
    register.register(water)
    return register
Exemple #3
0
    def test_iterate_over_interventions(self, get_intervention):
        """Test __iter___ method of AssetRegister class

        """
        asset_one = get_intervention
        register = InterventionRegister()
        register.register(asset_one)

        for asset in register:
            assert asset.sha1sum() == asset_one.sha1sum()
Exemple #4
0
    def test_add_duplicate_intervention(self, get_intervention):
        """Tests that only unique interventions are retained

        """
        asset_one = get_intervention
        asset_two = get_intervention
        register = InterventionRegister()
        register.register(asset_one)
        register.register(asset_two)

        assert len(register) == 1
Exemple #5
0
    def test_register_intervention(self, get_intervention):
        water_treatment_plant = get_intervention
        register = InterventionRegister()
        register.register(water_treatment_plant)

        assert len(register) == 1
        assert sorted(register._attribute_keys) == [
            "capacity", "location", "name", "sector"
        ]

        attr_idx = register.attribute_index("name")
        possible = register._attribute_possible_values[attr_idx]
        assert possible == [None, "water_treatment_plant"]

        attr_idx = register.attribute_index("capacity")
        possible = register._attribute_possible_values[attr_idx]
        assert possible == [None, {'units': 'ML/day', 'value': 5}]
Exemple #6
0
    def test_retrieve_intervention_by_name(self, get_intervention):
        water_treatment_plant = get_intervention
        register = InterventionRegister()
        register.register(water_treatment_plant)

        # pick an asset from the list - this is what the optimiser will do
        asset = register.get_intervention('water_treatment_plant')
        assert asset.name == "water_treatment_plant"

        assert asset.data == {
            'name': 'water_treatment_plant',
            'sector': 'water_supply',
            'capacity': {
                'units': 'ML/day',
                'value': 5
            },
            'location': 'oxford'
        }
Exemple #7
0
 def test_register_len_one(self, build_intervention_ws):
     water = Intervention(data=build_intervention_ws)
     register = InterventionRegister()
     register.register(water)
     assert len(register) == 1