Example #1
0
    def test_composite_adapter_forward_emtpy(self, trials):
        """Test :meth:`orion.core.evc.adapters.CompositeAdapter.forward` and
        :meth:`orion.core.evc.adapters.CompositeAdapter.backward` with no adapters
        """
        composite_adapter = CompositeAdapter()

        assert len(composite_adapter.forward(trials)) == len(trials)
        assert len(composite_adapter.backward(trials)) == len(trials)
    def create_adapters(self):
        """Return a list of adapters for every resolution"""
        adapters = []
        for resolution in self.conflicts.get_resolutions():
            adapters += resolution.get_adapters()

        return CompositeAdapter(*adapters)
Example #3
0
    def test_composite_adapter_init_with_bad_adapters(self):
        """Test initialization of :class:`orion.core.evc.adapters.CompositeAdapter`
        with invalid adapters
        """
        with pytest.raises(TypeError) as exc_info:
            CompositeAdapter("bad", "adapters")

        assert "Provided adapters must be adapter objects, not '<class 'str'>" in str(
            exc_info.value)
Example #4
0
 def test_composite_adapter_init_with_adapters(self, dummy_param):
     """Test initialization of :class:`orion.core.evc.adapters.CompositeAdapter`
     with valid adapters
     """
     dimension_addition = DimensionAddition(dummy_param)
     dimension_deletion = DimensionDeletion(dummy_param)
     composite_adapter = CompositeAdapter(dimension_addition,
                                          dimension_deletion)
     assert len(composite_adapter.adapters) == 2
     assert isinstance(composite_adapter.adapters[0], DimensionAddition)
     assert isinstance(composite_adapter.adapters[1], DimensionDeletion)
Example #5
0
    def test_composite_adapter_backward(self, dummy_param, trials):
        """Test :meth:`orion.core.evc.adapters.CompositeAdapter.backward` with two adapters"""
        new_param = Trial.Param(name="second_normal_prior",
                                type="integer",
                                value=1)

        dimension_addition_adapter = DimensionAddition(new_param)
        dimension_deletion_adapter = DimensionDeletion(new_param)

        composite_adapter = CompositeAdapter(dimension_deletion_adapter)

        adapted_trials = composite_adapter.backward(trials)

        assert adapted_trials[0]._params[-1] == new_param
        assert adapted_trials[4]._params[-1] == new_param
        assert adapted_trials[-1]._params[-1] == new_param

        composite_adapter = CompositeAdapter(dimension_addition_adapter,
                                             dimension_deletion_adapter)

        adapted_trials = composite_adapter.backward(trials)

        assert len(adapted_trials) == len(trials)

        assert new_param not in (adapted_trials[0]._params)
        assert new_param not in (adapted_trials[4]._params)
        assert new_param not in (adapted_trials[-1]._params)
Example #6
0
def test_composite_configuration(dummy_param):
    """Test :meth:`orion.core.evc.adapters.CompositeAdapter.configuration`"""
    new_param = Trial.Param(name="second_normal_prior",
                            type="integer",
                            value=1)
    dimension_addition_adapter = DimensionAddition(dummy_param)
    dimension_deletion_adapter = DimensionDeletion(new_param)

    composite_adapter = CompositeAdapter(dimension_addition_adapter,
                                         dimension_deletion_adapter)

    configuration = composite_adapter.configuration

    assert configuration[0] == dimension_addition_adapter.configuration[0]
    assert configuration[1] == dimension_deletion_adapter.configuration[0]

    assert (BaseAdapter.build(configuration).adapters[0].configuration[0] ==
            configuration[0])
    assert (BaseAdapter.build(configuration).adapters[1].configuration[0] ==
            configuration[1])
Example #7
0
 def test_composite_adapter_init_emtpy(self):
     """Test initialization of :class:`orion.core.evc.adapters.CompositeAdapter`
     with no adapters
     """
     composite_adapter = CompositeAdapter()
     assert len(composite_adapter.adapters) == 0