def test_resource_can_be_highlighted(self): # GIVEN the following mesh # # _____________ _____________ # | A | | B | # |-------------| |-------------| # | | n1 |-------->| p1 | n2 |--------->[ Resource X ] # |______|______| |______|______| # # m = Mesh() m.add_component('A', needs_ports=['n1']) m.add_component('B', needs_ports=['n2'], provides_ports=['p1']) m.add_resource('Resource X') m.add_connection('A', 'n1', 'B', 'p1') m.add_connection_to_resource('B', 'n2', 'Resource X') # WHEN Resource X is highlighted m.highlight_resource('Resource X') # THEN this is reflected in the dict representation self.assertEqual({ 'components': [ {'name': 'A', 'needs_ports': ['n1'], 'provides_ports': []}, {'name': 'B', 'needs_ports': ['n2'], 'provides_ports': ['p1']} ], 'resources': ['Resource X'], 'highlighted_resources': ['Resource X'], 'connections': [ { 'consumer_component': 'A', 'consumer_port': 'n1', 'producer_component': 'B', 'producer_port': 'p1', }, { 'consumer_component': 'B', 'consumer_port': 'n2', 'resource': 'Resource X', }, ], }, m.as_dict())