def test_serialize(self):
     serialized_instance = db.Object.from_object(
         m.Gaussian()
     )
     assert len(
         serialized_instance.children
     ) == 3
示例#2
0
def test_embedded_query(
        session,
        aggregator
):
    model_1 = db.Fit(
        id="model_1",
        instance=af.Collection(
            gaussian=m.Gaussian(
                centre=1
            )
        ),
        info={"info": 3}
    )
    model_2 = db.Fit(
        id="model_2",
        instance=af.Collection(
            gaussian=m.Gaussian(
                centre=2
            )
        ),
        info={"info": 4}
    )

    session.add_all([
        model_1,
        model_2
    ])

    result = aggregator.query(
        aggregator.centre == 0
    )

    assert result == []

    result = aggregator.query(
        aggregator.gaussian.centre == 1
    )

    assert result == [model_1]

    result = aggregator.query(
        aggregator.gaussian.centre == 2
    )

    assert result == [model_2]
示例#3
0
def test_tuple_in_instance(
        target_gaussian,
        prior
):
    # noinspection PyTypeChecker
    source_gaussian = m.Gaussian(
        centre=(prior, 1.0)
    )
    target_gaussian.take_attributes(
        source_gaussian
    )

    assert target_gaussian.centre == (prior, 1.0)
示例#4
0
def test_tuple_in_instance_in_collection(
        target_gaussian,
        prior
):
    # noinspection PyTypeChecker
    source_gaussian = m.Gaussian(
        centre=(prior, 1.0)
    )

    source = af.CollectionPriorModel(
        gaussian=source_gaussian
    )
    target = af.CollectionPriorModel(
        gaussian=target_gaussian
    )

    target.take_attributes(source)
    assert target.gaussian.centre == (prior, 1.0)
示例#5
0
def make_gaussian_1():
    return db.Fit(id="gaussian_1",
                  instance=m.Gaussian(centre=1),
                  info={"info": 1},
                  is_complete=True,
                  unique_tag="one")
示例#6
0
def make_gaussian_2():
    return db.Fit(id="gaussian_2",
                  instance=m.Gaussian(centre=2),
                  info={"info": 2},
                  is_complete=False,
                  unique_tag="two")
示例#7
0
def test_instance():
    collection = af.CollectionPriorModel(gaussian=m.Gaussian())

    assert collection.has_instance(m.Gaussian) is True
    assert collection.has_model(m.Gaussian) is False
示例#8
0
def test_embedded():
    collection = af.CollectionPriorModel(gaussian=af.PriorModel(
        m.Gaussian, centre=m.Gaussian()), )

    assert collection.has_model(m.Gaussian) is True
    assert collection.has_instance(m.Gaussian) is True
示例#9
0
def test_both():
    collection = af.CollectionPriorModel(gaussian=af.PriorModel(m.Gaussian),
                                         gaussian_2=m.Gaussian())

    assert collection.has_model(m.Gaussian) is True
    assert collection.has_instance(m.Gaussian) is True