def test_adding_provides_port_to_existing_component(self): # GIVEN a Mesh with existing component m = Mesh() m.add_component('Component A') # WHEN we add a provides port to the component m.add_provides_port('Component A', 'provides 1') # THEN the provides port is represented in the output self.assertEqual({ 'components': [ { 'name': 'Component A', 'needs_ports': [], 'provides_ports': ['provides 1'] }, ], 'resources': [], 'connections': [], }, m.as_dict())
def test_ports_are_returned_in_the_order_they_were_added(self): # GIVEN a new Mesh instance m = Mesh() # WHEN I add a component with ports in a specific order m.add_component('Component A', needs_ports=['needs 8', 'needs 7'], provides_ports=['provides 8', 'provides 7']) m.add_needs_port('Component A', 'needs 1') m.add_provides_port('Component A', 'provides 1') # THEN the ports are represented in the output in the same order they were entered self.assertEqual({ 'components': [ { 'name': 'Component A', 'needs_ports': ['needs 8', 'needs 7', 'needs 1'], 'provides_ports': ['provides 8', 'provides 7', 'provides 1'], }, ], 'resources': [], 'connections': [], }, m.as_dict())