def _loader(*parsed_items): parsed_data = { "1": element( id="1", type="Diagram", canvas=canvas(canvasitems=list(parsed_items)) ), **{p.id: p for p in parsed_items}, } load_elements(parsed_data, element_factory, modeling_language) return element_factory.lselect()[0].canvas.get_root_items()[0]
def test_upgrade_subsystem_item_to_class_item(element_factory): elements = { "1": element( id="1", type="Diagram", canvas=canvas(canvasitems=[canvasitem(id="2", type="SubsystemItem")]), ) } load_elements(elements, element_factory) item = element_factory.lselect()[0].canvas.get_root_items()[0] assert type(item) == diagramitems.ComponentItem
def test_message_item_upgrade(element_factory, modeling_language): """""" path = distribution().locate_file("test-models/multiple-messages.gaphor") elements = parse(path) load_elements(elements, element_factory, modeling_language) diagram = element_factory.lselect(UML.Diagram)[0] items = diagram.canvas.get_root_items() message_items = [i for i in items if isinstance(i, diagramitems.MessageItem)] subjects = [m.subject for m in message_items] messages = element_factory.lselect(UML.Message) presentations = [m.presentation for m in messages] assert len(messages) == 10 assert all(subjects), subjects assert len(message_items) == 10 assert all(presentations), presentations
def test_message_item_upgrade(element_factory): """ """ dist = importlib_metadata.distribution("gaphor") path = dist.locate_file("test-diagrams/multiple-messages.gaphor") elements = parse(path) load_elements(elements, element_factory) diagram = element_factory.lselect(lambda e: e.isKindOf(UML.Diagram))[0] items = diagram.canvas.get_root_items() message_items = [ i for i in items if isinstance(i, diagramitems.MessageItem) ] subjects = [m.subject for m in message_items] messages = element_factory.lselect(lambda e: e.isKindOf(UML.Message)) presentations = [m.presentation for m in messages] assert len(messages) == 10 assert all(subjects), subjects assert len(message_items) == 10 assert all(presentations), presentations
def _loader(*parsed_elements): parsed_data = {p.id: p for p in parsed_elements} load_elements(parsed_data, element_factory, modeling_language) return element_factory.lselect()
def _loader(*parsed_elements): parsed_data = {p.id: p for p in parsed_elements} load_elements(parsed_data, element_factory, modeling_language) *elements, style_sheet = element_factory.lselect() assert isinstance(style_sheet, StyleSheet) return elements