from ymmsl.v0_2 import Reference
[docs]
def test_create_topology_store(topology_store) -> None:
assert topology_store.model.conduits[0].sender == 'macro.out'
assert topology_store.model.conduits[0].receiver == 'micro.in'
assert topology_store.model.conduits[1].sender == 'micro.out'
assert topology_store.model.conduits[1].receiver == 'macro.in'
assert topology_store.model.components['macro'].multiplicity == []
assert topology_store.model.components['micro'].multiplicity == [10, 10]
[docs]
def test_get_conduits(topology_store2) -> None:
conduits = topology_store2.get_conduits(Reference('macro'))
assert conduits[0].sender == 'macro.out'
assert conduits[0].receiver == 'meso.init'
assert conduits[1].sender == 'meso.final'
assert conduits[1].receiver == 'macro.in'
conduits = topology_store2.get_conduits(Reference('meso'))
assert conduits[0].sender == 'macro.out'
assert conduits[0].receiver == 'meso.init'
assert conduits[1].sender == 'meso.out'
assert conduits[1].receiver == 'micro.init'
assert conduits[2].sender == 'micro.final'
assert conduits[2].receiver == 'meso.in'
assert conduits[3].sender == 'meso.final'
assert conduits[3].receiver == 'macro.in'
[docs]
def test_get_peer_dimensions(topology_store) -> None:
macro_peer_dims = topology_store.get_peer_dimensions(Reference('macro'))
assert len(macro_peer_dims) == 1
assert Reference('micro') in macro_peer_dims
assert macro_peer_dims[Reference('micro')] == [10, 10]
micro_peer_dims = topology_store.get_peer_dimensions(Reference('micro'))
assert len(micro_peer_dims) == 1
assert Reference('macro') in micro_peer_dims
assert micro_peer_dims[Reference('macro')] == []