Example #1
0
    def test_list_with_model_classes(self):
        instance = [
            mock.MockClassx2(1.0, 2.0),
            mock.ComplexClass(mock.MockClassx2(1.0, 2.0)),
        ]
        model = af.AbstractPriorModel.from_instance(
            instance, model_classes=(mock.ComplexClass, ))

        assert model.prior_count == 2
        assert model[0].prior_count == 0
        assert model[1].prior_count == 2
Example #2
0
    def test_model_mapper(self):
        instance = af.ModelInstance()
        instance.simple = mock.MockClassx2(1.0, 2.0)

        result = af.AbstractPriorModel.from_instance(instance)

        assert isinstance(result, af.ModelMapper)
Example #3
0
    def test_override_with_instance(self, simple_model):
        simple_instance = mock.MockClassx2(1, 2)

        simple_model.simple = simple_instance

        assert len(simple_model) == 1
        assert simple_model.simple == simple_instance
Example #4
0
    def test_dict_with_model_classes(self):
        instance = {
            "one": mock.MockClassx2(1.0, 2.0),
            "two": mock.ComplexClass(mock.MockClassx2(1.0, 2.0)),
        }
        model = af.AbstractPriorModel.from_instance(
            instance, model_classes=(mock.ComplexClass, ))

        assert model.prior_count == 2
        assert model[0].prior_count == 0
        assert model[1].prior_count == 2

        assert model.one.one == 1.0
        assert model.one.two == 2.0

        assert isinstance(model.two.simple.one, af.Prior)
        assert isinstance(model.two.simple.two, af.Prior)
Example #5
0
    def test_dict(self):
        instance = {"simple": mock.MockClassx2(1.0, 2.0)}
        prior_model = af.AbstractPriorModel.from_instance(instance)
        assert isinstance(prior_model, af.CollectionPriorModel)
        assert isinstance(prior_model.simple, af.PriorModel)
        assert prior_model.simple.one == 1.0

        new_instance = prior_model.instance_for_arguments({})
        assert isinstance(new_instance.simple, mock.MockClassx2)

        prior_model = af.AbstractPriorModel.from_instance(new_instance)
        assert isinstance(prior_model, af.CollectionPriorModel)
        assert isinstance(prior_model.simple, af.PriorModel)
        assert prior_model.simple.one == 1.0
Example #6
0
    def test_mix_instances_and_models(self):
        mapper = af.ModelMapper()
        mapper.list_object = af.PriorModel(
            mock.ListClass, ls=[mock.MockClassx2,
                                mock.MockClassx2(1, 2)])

        assert mapper.prior_count == 2

        instance = mapper.instance_from_unit_vector([0.1, 0.2])

        assert len(instance.list_object.ls) == 2
        assert instance.list_object.ls[0].one == 0.1
        assert instance.list_object.ls[0].two == 0.4
        assert instance.list_object.ls[1].one == 1
        assert instance.list_object.ls[1].two == 2
Example #7
0
    def test_keyword_arguments(self):
        prior_model = af.CollectionPriorModel(one=mock.MockClassx2,
                                              two=mock.MockClassx2(1, 2))

        assert len(prior_model.direct_prior_model_tuples) == 1
        assert len(prior_model) == 2

        instance = prior_model.instance_for_arguments({
            prior_model.one.one: 0.1,
            prior_model.one.two: 0.2
        })

        assert instance.one.one == 0.1
        assert instance.one.two == 0.2

        assert instance.two.one == 1
        assert instance.two.two == 2
Example #8
0
    def test_mix_instances_in_grouped_list_prior_model(self):
        prior_model = af.CollectionPriorModel(
            [mock.MockClassx2, mock.MockClassx2(1, 2)])

        assert len(prior_model.direct_prior_model_tuples) == 1
        assert prior_model.prior_count == 2

        mapper = af.ModelMapper()
        mapper.ls = prior_model

        instance = mapper.instance_from_unit_vector([0.1, 0.2])

        assert len(instance.ls) == 2

        assert instance.ls[0].one == 0.1
        assert instance.ls[0].two == 0.4
        assert instance.ls[1].one == 1
        assert instance.ls[1].two == 2

        assert len(prior_model.prior_class_dict) == 2
def make_collection():
    collection = af.ResultsCollection()
    model = af.ModelMapper()
    model.one = af.PriorModel(mock.MockComponents, component=mock.MockClassx2)
    instance = af.ModelInstance()
    instance.one = mock.MockComponents(component=mock.MockClassx2())

    result = af.MockResult(model=model, instance=instance)

    model = af.ModelMapper()
    instance = af.ModelInstance()

    model.hyper_galaxy = mock.HyperGalaxy
    instance.hyper_galaxy = mock.HyperGalaxy()

    hyper_result = af.MockResult(model=model, instance=instance)

    result.hyper_result = hyper_result

    collection.add("search name", result)

    return collection
Example #10
0
 def test_with_model_classes(self):
     instance = mock.ComplexClass(mock.MockClassx2(1.0, 2.0))
     model = af.AbstractPriorModel.from_instance(
         instance, model_classes=(mock.MockClassx2, ))
     assert model.prior_count == 2
Example #11
0
def make_complex_prior_model():
    instance = mock.ComplexClass(mock.MockClassx2(1.0, 2.0))
    return af.AbstractPriorModel.from_instance(instance)
Example #12
0
def make_list_prior_model():
    instance = [mock.MockClassx2(1.0, 2.0)]
    return af.AbstractPriorModel.from_instance(instance)