From 736a4d1aa722f45e49e17e2f5f9158f7426a16de Mon Sep 17 00:00:00 2001 From: MarcusRostSAP Date: Fri, 20 Oct 2023 09:33:48 +0200 Subject: [PATCH 01/13] added xml counterparts for every json file --- examples/advanced/student_project.xml | 844 +++++++++ examples/advanced/underwriter.xml | 508 ++++++ examples/and_gates/longer_and.xml | 1172 +++++++++++++ examples/and_gates/single_and.xml | 514 ++++++ examples/combinations/nested_and_or.xml | 688 ++++++++ examples/combinations/nested_and_or_xor.xml | 868 +++++++++ examples/combinations/nested_and_xor.xml | 1173 +++++++++++++ examples/combinations/nested_xor_or.xml | 694 ++++++++ examples/linear/linear_sequence.xml | 565 ++++++ examples/loops/activity_in_loop.xml | 738 ++++++++ examples/loops/gateway_in_loop_back.xml | 918 ++++++++++ examples/loops/gateway_in_loop_back_2.xml | 1028 +++++++++++ examples/loops/inner_xor_loop.xml | 921 ++++++++++ examples/loops/loop_with_multiple_xor.xml | 1106 ++++++++++++ examples/loops/nested_loop.xml | 810 +++++++++ examples/loops/simple_loop.xml | 637 +++++++ examples/loops/two_activities_in_loop.xml | 848 +++++++++ examples/loops/two_outgoing_loops.xml | 752 ++++++++ ...quote_creation_simplified_SAP Signavio.xml | 1064 ++++++++++++ examples/misc/multiple_endings.xml | 677 ++++++++ examples/misc/multiple_starts.xml | 512 ++++++ examples/misc/nested_lanes.xml | 781 +++++++++ examples/misc/no_start_no_end.xml | 394 +++++ examples/or_gates/single_or_gateway.xml | 852 +++++++++ examples/xor_gates/3_way_split_xor.xml | 1264 ++++++++++++++ .../double_nested_trailing_values.xml | 1546 +++++++++++++++++ examples/xor_gates/longer_xor.xml | 1178 +++++++++++++ examples/xor_gates/multiple_xor.xml | 924 ++++++++++ examples/xor_gates/nested_xor.xml | 1109 ++++++++++++ ...d_xor_with_before_and_after_activities.xml | 1360 +++++++++++++++ .../nested_xor_with_double_ending.xml | 1234 +++++++++++++ examples/xor_gates/single_xor.xml | 740 ++++++++ 32 files changed, 28419 insertions(+) create mode 100644 examples/advanced/student_project.xml create mode 100644 examples/advanced/underwriter.xml create mode 100644 examples/and_gates/longer_and.xml create mode 100644 examples/and_gates/single_and.xml create mode 100644 examples/combinations/nested_and_or.xml create mode 100644 examples/combinations/nested_and_or_xor.xml create mode 100644 examples/combinations/nested_and_xor.xml create mode 100644 examples/combinations/nested_xor_or.xml create mode 100644 examples/linear/linear_sequence.xml create mode 100644 examples/loops/activity_in_loop.xml create mode 100644 examples/loops/gateway_in_loop_back.xml create mode 100644 examples/loops/gateway_in_loop_back_2.xml create mode 100644 examples/loops/inner_xor_loop.xml create mode 100644 examples/loops/loop_with_multiple_xor.xml create mode 100644 examples/loops/nested_loop.xml create mode 100644 examples/loops/simple_loop.xml create mode 100644 examples/loops/two_activities_in_loop.xml create mode 100644 examples/loops/two_outgoing_loops.xml create mode 100644 examples/main_example/Credit_quote_creation_simplified_SAP Signavio.xml create mode 100644 examples/misc/multiple_endings.xml create mode 100644 examples/misc/multiple_starts.xml create mode 100644 examples/misc/nested_lanes.xml create mode 100644 examples/misc/no_start_no_end.xml create mode 100644 examples/or_gates/single_or_gateway.xml create mode 100644 examples/xor_gates/3_way_split_xor.xml create mode 100644 examples/xor_gates/double_nested_trailing_values.xml create mode 100644 examples/xor_gates/longer_xor.xml create mode 100644 examples/xor_gates/multiple_xor.xml create mode 100644 examples/xor_gates/nested_xor.xml create mode 100644 examples/xor_gates/nested_xor_with_before_and_after_activities.xml create mode 100644 examples/xor_gates/nested_xor_with_double_ending.xml create mode 100644 examples/xor_gates/single_xor.xml diff --git a/examples/advanced/student_project.xml b/examples/advanced/student_project.xml new file mode 100644 index 0000000..9ec4256 --- /dev/null +++ b/examples/advanced/student_project.xml @@ -0,0 +1,844 @@ + + + + + + + + + + /glossary/7b44f64199404855bc9c473bece4b616 + + + + + + + + + + /glossary/4283363449cf469a8b9e959d9f7a280a + + + + + + + + /glossary/8a1ce45019234067b57f0f007bd4d3e1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-E96C109E-D90B-4069-9743-1501AFDE2AA9 + sid-032F0C1F-E53B-4B23-8943-4FD5C5DD8BD5 + sid-C209D0BF-109F-428C-AD0F-3518B68DBE16 + sid-FF08099D-4C6E-4AEF-A9DE-AA0CEF759E0E + sid-4ACD99D6-5FE6-4071-862A-6D4A5FDFCB7D + sid-87F4AE1D-1626-4284-BDF0-0E63BFFB1876 + sid-407C128E-1AD6-4058-9979-7E907598B432 + sid-022CFEC4-F6CE-4F90-BC76-B3B73E85A049 + sid-0DBDC4E5-F5E9-4671-837C-BFFADC7054A9 + + + + + + + + + sid-39C5D9F6-1A07-4355-BC65-9ACAE410B74D + + + + In here shall be the documentation for the task. + + + + + + + + + + + sid-39C5D9F6-1A07-4355-BC65-9ACAE410B74D + sid-E69D3C89-0103-4BE5-A8DC-A733784F8A71 + + + In here shall be the documentation for the task. + + + + + + + + + + sid-E7F39E5C-FDB0-49BB-8DB1-1AC7978EE079 + sid-8B2D0A24-64A6-41FA-901A-AD06E9A8B35E + + + In here shall be the documentation for the task. + + + + + + + + + + sid-8B2D0A24-64A6-41FA-901A-AD06E9A8B35E + sid-59FF3545-132C-48ED-BE7D-3F1A3D7CBA72 + + + + + + + + sid-59FF3545-132C-48ED-BE7D-3F1A3D7CBA72 + sid-1719017A-FD02-4DDE-A3AE-844423E417EF + + + + sid-60eda481-b41b-4bb7-83c9-5ac3b2454794 + sid-85e5fba0-550d-47e3-be50-a20dd4c68f50 + + + sid-a3568e12-f90c-4271-95c4-debc02432f93 + + + + + + + sid-23BAF1C8-0567-4C21-8EA5-E78AA65B2B3E + sid-60eda481-b41b-4bb7-83c9-5ac3b2454794 + + + + + + + + sid-BC06A9A6-DDFC-4ABD-A903-F5DB38FD2CE2 + sid-D74FB0C0-366E-4E30-98D7-A80E8B6DB13C + sid-5ADDD38C-B160-4F84-8CDD-B415381E3994 + + + In here shall be the documentation for the task. + + + + + + + + + + sid-80AB97B6-BBE3-41B4-B486-917AD1D8E3B6 + sid-68E2FD87-C7A6-4AF5-9452-6C36F8B66910 + + + In here shall be the documentation for the task. + + + + + + + + + + sid-8F5F3226-DADE-425E-8F02-7D66BB70B315 + sid-80AB97B6-BBE3-41B4-B486-917AD1D8E3B6 + + + + + + + sid-68E2FD87-C7A6-4AF5-9452-6C36F8B66910 + sid-B3922F8A-2BC1-4321-8AA7-AC4808B0017C + + + + + + + + + sid-B3922F8A-2BC1-4321-8AA7-AC4808B0017C + sid-E9536DC1-D869-4B69-9BAF-30D2DBC7299A + sid-4A10F79E-813F-46D3-BE19-AA09C730648D + + + + + + + sid-4A10F79E-813F-46D3-BE19-AA09C730648D + sid-CF562066-8973-4CBC-A274-0955EF9E5621 + sid-8F5F3226-DADE-425E-8F02-7D66BB70B315 + + + In here shall be the documentation for the task. + + + + + + + + + + sid-E9536DC1-D869-4B69-9BAF-30D2DBC7299A + sid-25905704-1285-48D7-BDD8-683AB4B410BA + + + + + + + sid-25905704-1285-48D7-BDD8-683AB4B410BA + sid-707CCF34-350E-4B61-949A-D5A1871A785F + sid-CC058DA2-7867-4C22-81A5-31B5367396F6 + + + + + + + + sid-707CCF34-350E-4B61-949A-D5A1871A785F + sid-9F23170C-E001-4361-97F0-16723E82FC74 + + + + In here shall be the documentation for the task. + + + + + + + + + + sid-9F23170C-E001-4361-97F0-16723E82FC74 + sid-D74FB0C0-366E-4E30-98D7-A80E8B6DB13C + + + + + + + + sid-CC058DA2-7867-4C22-81A5-31B5367396F6 + sid-BC06A9A6-DDFC-4ABD-A903-F5DB38FD2CE2 + + + + + + + + sid-CF562066-8973-4CBC-A274-0955EF9E5621 + + + + + + + sid-5ADDD38C-B160-4F84-8CDD-B415381E3994 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-1719017A-FD02-4DDE-A3AE-844423E417EF + + + + + + + sid-E69D3C89-0103-4BE5-A8DC-A733784F8A71 + sid-75BBE3A6-E70A-4241-8404-8DCB1EACF757 + + + In here shall be the documentation for the task. + + + + + + + + + + sid-8E304810-00A4-44EB-8FC2-EAE4A9372542 + + + + + + + sid-8E304810-00A4-44EB-8FC2-EAE4A9372542 + sid-D34CB892-73FE-487F-919E-DF1CFF7EB509 + + + + + + + + + + + + + sid-D34CB892-73FE-487F-919E-DF1CFF7EB509 + + + + sid-ae718694-8d3e-47e4-a043-77d7393977a1 + + + sid-d604e796-1eec-4e2b-bf3e-d414001c7784 + sid-eb8a804a-033d-4900-8cbb-e953a2a77244 + + + + + + + sid-d604e796-1eec-4e2b-bf3e-d414001c7784 + sid-23BAF1C8-0567-4C21-8EA5-E78AA65B2B3E + + + + + + + + + + + + + + + + + + + sid-75BBE3A6-E70A-4241-8404-8DCB1EACF757 + sid-0256DDFA-1400-4FB8-B163-88C87D72FCD5 + sid-E7F39E5C-FDB0-49BB-8DB1-1AC7978EE079 + + + sid-0256DDFA-1400-4FB8-B163-88C87D72FCD5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/advanced/underwriter.xml b/examples/advanced/underwriter.xml new file mode 100644 index 0000000..7bb79e0 --- /dev/null +++ b/examples/advanced/underwriter.xml @@ -0,0 +1,508 @@ + + + + + + + + + + /glossary/7d71dfb4d73f49c682c123c66cf76beb + + + + + + + + /glossary/637e2bf8539443678fec17706e30d0a4 + + + + + + + + + + + + + + + + + + + + + + + + + + sid-CFAFA606-1D7C-4078-8EBB-BEF55FBC3E7D + sid-C8F4AFC3-9686-4C6D-8AC7-F74246E980FB + sid-34AA0C14-41DF-406C-B467-8BE3D376AFE8 + sid-D6C50FE5-E074-4360-991E-F6B88149A1AC + sid-4209DA92-1208-4121-ACB6-C4D7EDF378C3 + sid-4D681FF5-23AA-46EE-8939-68658FDB1B9E + sid-7E2F5F04-D4D5-407B-A20A-CA124DC33721 + sid-62605252-413E-4A89-8F9E-7072F6D33513 + sid-A44D6075-6BAA-4E1F-8BD2-DEBE46F95DF7 + sid-249C44C7-5400-4E15-B639-079545722FD8 + sid-23133592-3711-47A0-82CA-48D54157DFBF + sid-A5B13FE9-2224-4505-91A3-C04C28BEFBAE + sid-C590C471-743B-47C8-9F56-328A5FE36F36 + sid-BF161723-6B96-46C1-8747-6A663E0932B3 + sid-ABADA803-AC9B-41C0-8DF6-E3D1FFC09BAD + + + + In here shall be the documentation for the task. + + + + + + + + + + + sid-AD7E1C74-7100-4517-982E-B38FC9D21599 + sid-A2070167-1F01-4F48-96BE-FAE6BF54FF51 + + + + + + + sid-A43778C4-BE9F-481F-B964-61CF35C39E3B + sid-AD7E1C74-7100-4517-982E-B38FC9D21599 + sid-A89695D9-614D-4FD6-BEC4-F4C64E67454E + + + In here shall be the documentation for the task. + + + + + + + + + + sid-A89695D9-614D-4FD6-BEC4-F4C64E67454E + sid-9A816B75-E97B-4E65-B7EF-BAE3050E14E6 + + + + + + + sid-9A816B75-E97B-4E65-B7EF-BAE3050E14E6 + sid-A2070167-1F01-4F48-96BE-FAE6BF54FF51 + sid-DD637621-8C88-4A5B-8707-245B25F87838 + + + + + + + sid-DD637621-8C88-4A5B-8707-245B25F87838 + sid-17BA13B5-6981-4226-B82D-F47C50C93ECD + sid-56E1C6C2-B1A9-42A4-9B08-4AACDF220D29 + + + In here shall be the documentation for the task. + + + + + + + + + + sid-17BA13B5-6981-4226-B82D-F47C50C93ECD + sid-946AA84B-77EC-4061-9C77-3B0440260710 + + + + + + + sid-56E1C6C2-B1A9-42A4-9B08-4AACDF220D29 + sid-E76CBCC3-4469-4CB8-BE48-3DE18E568518 + + + + In here shall be the documentation for the task. + + + + + + + + + + sid-946AA84B-77EC-4061-9C77-3B0440260710 + sid-BAE672EF-224D-4BC2-96F8-2FAACB87BA56 + + + + + + + sid-BAE672EF-224D-4BC2-96F8-2FAACB87BA56 + sid-E76CBCC3-4469-4CB8-BE48-3DE18E568518 + sid-947FB614-CDE7-49AC-83C5-2A5F065A754C + + + In here shall be the documentation for the task. + + + + + + + + + + sid-947FB614-CDE7-49AC-83C5-2A5F065A754C + sid-973F9DD2-3307-42D1-874A-19EA851C1833 + + + + + + + sid-E1F2ACCA-397C-4704-82AD-CA331F695BC8 + + + + + + + + sid-973F9DD2-3307-42D1-874A-19EA851C1833 + sid-6A7FD725-D38B-41A5-A840-E3BC9054C1C1 + sid-18CA7402-927C-4946-8CAB-722E47B9BBBA + + + + + + + + + + + + sid-6A7FD725-D38B-41A5-A840-E3BC9054C1C1 + sid-E1F2ACCA-397C-4704-82AD-CA331F695BC8 + + + + + + + sid-18CA7402-927C-4946-8CAB-722E47B9BBBA + + + + + + + + sid-A43778C4-BE9F-481F-B964-61CF35C39E3B + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SEC - Securities and Exchange Commision + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/and_gates/longer_and.xml b/examples/and_gates/longer_and.xml new file mode 100644 index 0000000..0a4a90e --- /dev/null +++ b/examples/and_gates/longer_and.xml @@ -0,0 +1,1172 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-B1919CF8-0997-44D5-BAA5-4540027E8655 + + + + + + + + + + + + sid-FAEBD832-7FC9-4CEF-9053-20F21BBD4886 + sid-40231F2D-3243-4FB2-BE8F-0625507DA73C + sid-2933E377-B338-403C-9A5A-9972A120411B + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-40231F2D-3243-4FB2-BE8F-0625507DA73C + sid-8B5FE184-C034-4CB2-B551-DAA9EE9652CD + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-2933E377-B338-403C-9A5A-9972A120411B + sid-C5E1B14A-3E12-4664-83F0-ED4D51C74ECB + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-C5E1B14A-3E12-4664-83F0-ED4D51C74ECB + sid-AEF87569-F16C-46A0-B5B2-E8EE69F4C80C + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-AEF87569-F16C-46A0-B5B2-E8EE69F4C80C + sid-8F8CB7B1-66A1-4999-BFCA-5F90AD432122 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-8B5FE184-C034-4CB2-B551-DAA9EE9652CD + sid-9E07115D-05DF-4ED0-A6C8-ED39A3F17095 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-9E07115D-05DF-4ED0-A6C8-ED39A3F17095 + sid-77C21B8F-898F-4CB7-B16C-270718417B59 + + + + + + + + + + + + sid-77C21B8F-898F-4CB7-B16C-270718417B59 + sid-8F8CB7B1-66A1-4999-BFCA-5F90AD432122 + sid-C215014A-DD4D-44C7-A465-C0F082F8291E + + + + + + + + + + + + sid-8AF85E18-66BA-4817-9860-81BB9E0839CD + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-B1919CF8-0997-44D5-BAA5-4540027E8655 + sid-FAEBD832-7FC9-4CEF-9053-20F21BBD4886 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-C215014A-DD4D-44C7-A465-C0F082F8291E + sid-8AF85E18-66BA-4817-9860-81BB9E0839CD + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/and_gates/single_and.xml b/examples/and_gates/single_and.xml new file mode 100644 index 0000000..4f982c1 --- /dev/null +++ b/examples/and_gates/single_and.xml @@ -0,0 +1,514 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-835CE72E-BA7D-4DB6-856D-48A706028690 + + + + + + + + + + + + sid-79174C7C-DDE7-4639-A718-B7EAAA904309 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-6B10282B-687D-40D9-8F9A-1B4FC29CCA26 + sid-9CFB1B24-C587-4899-9BE0-EFE065E72B79 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-A6B93C15-E177-4CB9-8D59-8B9AF874D48F + sid-CA8D995D-DD3D-4DD8-BFED-0729CBF8F375 + + + + + + + + + + + + sid-835CE72E-BA7D-4DB6-856D-48A706028690 + sid-6B10282B-687D-40D9-8F9A-1B4FC29CCA26 + sid-A6B93C15-E177-4CB9-8D59-8B9AF874D48F + + + + + + + + + + + + sid-CA8D995D-DD3D-4DD8-BFED-0729CBF8F375 + sid-9CFB1B24-C587-4899-9BE0-EFE065E72B79 + sid-79174C7C-DDE7-4639-A718-B7EAAA904309 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/combinations/nested_and_or.xml b/examples/combinations/nested_and_or.xml new file mode 100644 index 0000000..3c0bc49 --- /dev/null +++ b/examples/combinations/nested_and_or.xml @@ -0,0 +1,688 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-FC368C7B-5AE7-4261-A3E6-5AC7EDDD8002 + + + + + + + + + + + + sid-FC368C7B-5AE7-4261-A3E6-5AC7EDDD8002 + sid-79C63AA5-87CB-4095-9094-659F7724597B + sid-514B4958-AFEE-49A8-8176-EF033A2E3A04 + + + + + + + + + + + + sid-FE8DF871-477F-4836-9B23-BD611075487D + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-79C63AA5-87CB-4095-9094-659F7724597B + sid-0EAAC1EE-DA8D-44FD-B4A4-95BC66AA606E + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-BC8D2276-041F-4E23-9506-DFB31DE51E61 + sid-8E788ACA-FBF5-4633-8E2D-4C05EE78F031 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-248BD3B1-BF44-4994-BF85-B31249B61A3D + sid-85723557-4483-4C67-85E3-45CB1A6F83A7 + + + + + + + + + + + + sid-0EAAC1EE-DA8D-44FD-B4A4-95BC66AA606E + sid-4E6FDFD7-6BAF-44D5-85C7-B90CA038FA78 + sid-FE8DF871-477F-4836-9B23-BD611075487D + + + + + + + + + + sid-514B4958-AFEE-49A8-8176-EF033A2E3A04 + sid-BC8D2276-041F-4E23-9506-DFB31DE51E61 + sid-248BD3B1-BF44-4994-BF85-B31249B61A3D + + + + + + + + + + sid-85723557-4483-4C67-85E3-45CB1A6F83A7 + sid-8E788ACA-FBF5-4633-8E2D-4C05EE78F031 + sid-4E6FDFD7-6BAF-44D5-85C7-B90CA038FA78 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/combinations/nested_and_or_xor.xml b/examples/combinations/nested_and_or_xor.xml new file mode 100644 index 0000000..428c716 --- /dev/null +++ b/examples/combinations/nested_and_or_xor.xml @@ -0,0 +1,868 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-619A8AFA-5799-4B74-B0ED-0AC2A23F44B8 + + + + + + + + + + + + sid-664D038B-7B06-4DBC-A47F-2C4CEBD0A874 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-0FACBC0E-FF58-4919-A7F3-9567D1C12D07 + sid-DF216DA8-3E3B-47E0-A7F7-9B1B807D7919 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-248BD3B1-BF44-4994-BF85-B31249B61A3D + sid-85723557-4483-4C67-85E3-45CB1A6F83A7 + + + + + + + + + + sid-BC62037F-6709-4066-A5EE-20913D3F606C + sid-248BD3B1-BF44-4994-BF85-B31249B61A3D + sid-D87627DB-FB75-4ECE-A7C2-3FBCEE9E5C28 + + + + + + + + + + sid-85723557-4483-4C67-85E3-45CB1A6F83A7 + sid-9E490143-B930-487B-8C83-CBAB367C1F81 + sid-52629B5F-2419-4F9C-B942-5D8AF7275E3C + + + + + + + + + + + + + + + sid-619A8AFA-5799-4B74-B0ED-0AC2A23F44B8 + sid-BC62037F-6709-4066-A5EE-20913D3F606C + sid-0FACBC0E-FF58-4919-A7F3-9567D1C12D07 + + + + + + + + + + + + + + + sid-DF216DA8-3E3B-47E0-A7F7-9B1B807D7919 + sid-52629B5F-2419-4F9C-B942-5D8AF7275E3C + sid-664D038B-7B06-4DBC-A47F-2C4CEBD0A874 + + + + + + + + + + + + sid-D87627DB-FB75-4ECE-A7C2-3FBCEE9E5C28 + sid-8A63D0AD-0EB0-45C6-8471-572BEAA30512 + sid-F2D5C3CA-7FB2-4CEC-9CBF-C1557F30AC8D + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-F2D5C3CA-7FB2-4CEC-9CBF-C1557F30AC8D + sid-37EFC97B-FFB5-47B7-A311-9AF7ED10F7A6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-8A63D0AD-0EB0-45C6-8471-572BEAA30512 + sid-2A06BC7C-BDEC-4484-8BDE-487C28102B31 + + + + + + + + + + + + sid-2A06BC7C-BDEC-4484-8BDE-487C28102B31 + sid-37EFC97B-FFB5-47B7-A311-9AF7ED10F7A6 + sid-9E490143-B930-487B-8C83-CBAB367C1F81 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/combinations/nested_and_xor.xml b/examples/combinations/nested_and_xor.xml new file mode 100644 index 0000000..2da12d4 --- /dev/null +++ b/examples/combinations/nested_and_xor.xml @@ -0,0 +1,1173 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-0702479F-0059-432F-8814-1929685AF52B + + + + + + + + + + + + sid-7B422A57-31B2-4964-AEAB-6B56A877E99E + + + + + + + + + + + + + + + sid-F2EFB644-9FEC-4E66-A491-32C39E6602F3 + sid-AD244BE0-24EA-4D97-9911-10D5AA62FA17 + sid-4CA3161C-B34E-41AE-B300-17576113D7A9 + + + + + + + + + + + + sid-AD244BE0-24EA-4D97-9911-10D5AA62FA17 + sid-98389FB7-BFBA-45F9-A497-298019C0A2D0 + sid-A0A5134E-F917-4AFE-AA76-F886476D30D8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-0702479F-0059-432F-8814-1929685AF52B + sid-F2EFB644-9FEC-4E66-A491-32C39E6602F3 + + + + + + + + + + + + + + + sid-A0A5134E-F917-4AFE-AA76-F886476D30D8 + sid-CCF1B6DF-9E4C-40A2-A47F-979B835873EF + sid-430401F6-6D73-4581-A496-46EA3998DDC1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-98389FB7-BFBA-45F9-A497-298019C0A2D0 + sid-033A19EA-F8D3-4E08-931F-F6E1FF5B475F + + + + + + + + + + + + + + + sid-430401F6-6D73-4581-A496-46EA3998DDC1 + sid-18E16071-93D1-44AB-A730-0D5EB9A80570 + sid-FE83A81C-8A83-498D-ACDF-AB115B686081 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-CCF1B6DF-9E4C-40A2-A47F-979B835873EF + sid-D4FB55E2-C5E5-48B3-A0B2-E71E5851CA71 + + + + + + + + + + + + + + + sid-033A19EA-F8D3-4E08-931F-F6E1FF5B475F + sid-4FBC7CFA-B5B4-4A7E-9E0E-3D771032BDCC + sid-5B8834C8-DE18-4C3E-9A9E-0C2651CB6EF0 + sid-7B422A57-31B2-4964-AEAB-6B56A877E99E + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-18E16071-93D1-44AB-A730-0D5EB9A80570 + sid-2C937762-E079-4093-9B7C-0DDF0CFBC678 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-FE83A81C-8A83-498D-ACDF-AB115B686081 + sid-E2370A59-59DE-4B1F-9B82-9E7FA5A1313D + + + + + + + + + + + + + + + sid-2C937762-E079-4093-9B7C-0DDF0CFBC678 + sid-E2370A59-59DE-4B1F-9B82-9E7FA5A1313D + sid-464032E3-02EC-4D5B-AFB9-0DEE7862C069 + + + + + + + + + + + + + + + sid-464032E3-02EC-4D5B-AFB9-0DEE7862C069 + sid-D4FB55E2-C5E5-48B3-A0B2-E71E5851CA71 + sid-19D5D819-E572-4005-B9A3-6E33F3648230 + + + + + + + + + + + + sid-19D5D819-E572-4005-B9A3-6E33F3648230 + sid-4FBC7CFA-B5B4-4A7E-9E0E-3D771032BDCC + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-4CA3161C-B34E-41AE-B300-17576113D7A9 + sid-5B8834C8-DE18-4C3E-9A9E-0C2651CB6EF0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/combinations/nested_xor_or.xml b/examples/combinations/nested_xor_or.xml new file mode 100644 index 0000000..c4853f8 --- /dev/null +++ b/examples/combinations/nested_xor_or.xml @@ -0,0 +1,694 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-619A8AFA-5799-4B74-B0ED-0AC2A23F44B8 + + + + + + + + + + + + sid-664D038B-7B06-4DBC-A47F-2C4CEBD0A874 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-0FACBC0E-FF58-4919-A7F3-9567D1C12D07 + sid-DF216DA8-3E3B-47E0-A7F7-9B1B807D7919 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-BC8D2276-041F-4E23-9506-DFB31DE51E61 + sid-8E788ACA-FBF5-4633-8E2D-4C05EE78F031 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-248BD3B1-BF44-4994-BF85-B31249B61A3D + sid-85723557-4483-4C67-85E3-45CB1A6F83A7 + + + + + + + + + + sid-BC62037F-6709-4066-A5EE-20913D3F606C + sid-BC8D2276-041F-4E23-9506-DFB31DE51E61 + sid-248BD3B1-BF44-4994-BF85-B31249B61A3D + + + + + + + + + + sid-85723557-4483-4C67-85E3-45CB1A6F83A7 + sid-8E788ACA-FBF5-4633-8E2D-4C05EE78F031 + sid-52629B5F-2419-4F9C-B942-5D8AF7275E3C + + + + + + + + + + + + + + + sid-619A8AFA-5799-4B74-B0ED-0AC2A23F44B8 + sid-BC62037F-6709-4066-A5EE-20913D3F606C + sid-0FACBC0E-FF58-4919-A7F3-9567D1C12D07 + + + + + + + + + + + + + + + sid-DF216DA8-3E3B-47E0-A7F7-9B1B807D7919 + sid-52629B5F-2419-4F9C-B942-5D8AF7275E3C + sid-664D038B-7B06-4DBC-A47F-2C4CEBD0A874 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/linear/linear_sequence.xml b/examples/linear/linear_sequence.xml new file mode 100644 index 0000000..d7280ba --- /dev/null +++ b/examples/linear/linear_sequence.xml @@ -0,0 +1,565 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-901975D0-4ACF-435A-947B-CBE43084E37E + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-901975D0-4ACF-435A-947B-CBE43084E37E + sid-E99436E0-2FD8-4D15-A06C-ABA769A68FB4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-E99436E0-2FD8-4D15-A06C-ABA769A68FB4 + sid-1E17AE5F-3352-4DCD-A9D4-28F49EF82206 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-1E17AE5F-3352-4DCD-A9D4-28F49EF82206 + sid-68983014-C7A8-4FA0-A13C-32ACFD4069CA + + + + + + + + + + + + sid-68983014-C7A8-4FA0-A13C-32ACFD4069CA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/loops/activity_in_loop.xml b/examples/loops/activity_in_loop.xml new file mode 100644 index 0000000..321cd39 --- /dev/null +++ b/examples/loops/activity_in_loop.xml @@ -0,0 +1,738 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-83719A3B-90E9-4B7C-A856-01CFDFAEA634 + + + + + + + + + + + + sid-9A847C5D-F492-4151-97D2-89F0EDBB7CB8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-83719A3B-90E9-4B7C-A856-01CFDFAEA634 + sid-5E71CDFE-BFC4-4C8F-90E7-769A6183A854 + + + + + + + + + + + + + + + sid-5E71CDFE-BFC4-4C8F-90E7-769A6183A854 + sid-CD07697D-EBBB-4317-BA0E-891DACE2E9D2 + sid-99738E1C-DD68-435B-9973-72B7D056CEBD + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-99738E1C-DD68-435B-9973-72B7D056CEBD + sid-7F64E712-80C0-44A6-B020-043C0D01B955 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-7F64E712-80C0-44A6-B020-043C0D01B955 + sid-439F65AC-F859-46DE-B402-1B94595CA4E8 + + + + + + + + + + + + + + + sid-439F65AC-F859-46DE-B402-1B94595CA4E8 + sid-9A847C5D-F492-4151-97D2-89F0EDBB7CB8 + sid-7AF8C813-1851-4336-8B3A-7D4861F72500 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-7AF8C813-1851-4336-8B3A-7D4861F72500 + sid-CD07697D-EBBB-4317-BA0E-891DACE2E9D2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/loops/gateway_in_loop_back.xml b/examples/loops/gateway_in_loop_back.xml new file mode 100644 index 0000000..0b72055 --- /dev/null +++ b/examples/loops/gateway_in_loop_back.xml @@ -0,0 +1,918 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-83719A3B-90E9-4B7C-A856-01CFDFAEA634 + + + + + + + + + + + + sid-9A847C5D-F492-4151-97D2-89F0EDBB7CB8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-83719A3B-90E9-4B7C-A856-01CFDFAEA634 + sid-5E71CDFE-BFC4-4C8F-90E7-769A6183A854 + + + + + + + + + + + + + + + sid-5E71CDFE-BFC4-4C8F-90E7-769A6183A854 + sid-5E30F4D2-4AAC-4026-AFEB-819C16655EEC + sid-99738E1C-DD68-435B-9973-72B7D056CEBD + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-99738E1C-DD68-435B-9973-72B7D056CEBD + sid-7F64E712-80C0-44A6-B020-043C0D01B955 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-7F64E712-80C0-44A6-B020-043C0D01B955 + sid-439F65AC-F859-46DE-B402-1B94595CA4E8 + + + + + + + + + + + + + + + sid-439F65AC-F859-46DE-B402-1B94595CA4E8 + sid-9A847C5D-F492-4151-97D2-89F0EDBB7CB8 + sid-D4F790C4-D37C-49D3-A4DB-2B5B1986AFF9 + + + + + + + + + + + + + + + sid-D4F790C4-D37C-49D3-A4DB-2B5B1986AFF9 + sid-8338C8C6-3B83-485C-B47A-7A99ED6D0576 + sid-006495C0-4021-49E4-9AD8-8414C658ADEC + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-006495C0-4021-49E4-9AD8-8414C658ADEC + sid-843024BA-2E18-4D30-B6C1-A7317C439DCE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-8338C8C6-3B83-485C-B47A-7A99ED6D0576 + sid-122EF280-2E04-44C7-AB55-1268BA7292CF + + + + + + + + + + + + + + + sid-122EF280-2E04-44C7-AB55-1268BA7292CF + sid-843024BA-2E18-4D30-B6C1-A7317C439DCE + sid-5E30F4D2-4AAC-4026-AFEB-819C16655EEC + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/loops/gateway_in_loop_back_2.xml b/examples/loops/gateway_in_loop_back_2.xml new file mode 100644 index 0000000..39097da --- /dev/null +++ b/examples/loops/gateway_in_loop_back_2.xml @@ -0,0 +1,1028 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-83719A3B-90E9-4B7C-A856-01CFDFAEA634 + + + + + + + + + + + + sid-9A847C5D-F492-4151-97D2-89F0EDBB7CB8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-83719A3B-90E9-4B7C-A856-01CFDFAEA634 + sid-5E71CDFE-BFC4-4C8F-90E7-769A6183A854 + + + + + + + + + + + + + + + sid-5E71CDFE-BFC4-4C8F-90E7-769A6183A854 + sid-F069A528-692D-4923-90B2-F7933EFCB623 + sid-99738E1C-DD68-435B-9973-72B7D056CEBD + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-99738E1C-DD68-435B-9973-72B7D056CEBD + sid-7F64E712-80C0-44A6-B020-043C0D01B955 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-7F64E712-80C0-44A6-B020-043C0D01B955 + sid-439F65AC-F859-46DE-B402-1B94595CA4E8 + + + + + + + + + + + + + + + sid-439F65AC-F859-46DE-B402-1B94595CA4E8 + sid-9A847C5D-F492-4151-97D2-89F0EDBB7CB8 + sid-D4F790C4-D37C-49D3-A4DB-2B5B1986AFF9 + + + + + + + + + + + + + + + sid-D4F790C4-D37C-49D3-A4DB-2B5B1986AFF9 + sid-8338C8C6-3B83-485C-B47A-7A99ED6D0576 + sid-006495C0-4021-49E4-9AD8-8414C658ADEC + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-006495C0-4021-49E4-9AD8-8414C658ADEC + sid-843024BA-2E18-4D30-B6C1-A7317C439DCE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-8338C8C6-3B83-485C-B47A-7A99ED6D0576 + sid-122EF280-2E04-44C7-AB55-1268BA7292CF + + + + + + + + + + + + + + + sid-122EF280-2E04-44C7-AB55-1268BA7292CF + sid-843024BA-2E18-4D30-B6C1-A7317C439DCE + sid-5E30F4D2-4AAC-4026-AFEB-819C16655EEC + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-5E30F4D2-4AAC-4026-AFEB-819C16655EEC + sid-F069A528-692D-4923-90B2-F7933EFCB623 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/loops/inner_xor_loop.xml b/examples/loops/inner_xor_loop.xml new file mode 100644 index 0000000..c7a746b --- /dev/null +++ b/examples/loops/inner_xor_loop.xml @@ -0,0 +1,921 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-944F3A88-E1DA-4F53-849A-2BF603645C31 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-944F3A88-E1DA-4F53-849A-2BF603645C31 + sid-30C49472-5AE0-4BA2-8B77-0F2BD7918980 + + + + + + + + + + + + + + + sid-30C49472-5AE0-4BA2-8B77-0F2BD7918980 + sid-ABDE7E70-A31D-49D7-998C-79AB49022B66 + sid-307AF14D-C872-4392-9BEB-469603A44306 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-307AF14D-C872-4392-9BEB-469603A44306 + sid-E9D95524-DE83-4AB1-8D44-B070362F75BA + + + + + + + + + + + + + + + sid-E9D95524-DE83-4AB1-8D44-B070362F75BA + sid-32CFDEB4-CA34-4948-A939-0A765A2AEE01 + sid-4494D22B-FA54-4E19-B232-583FF6B3D907 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-32CFDEB4-CA34-4948-A939-0A765A2AEE01 + sid-4545AA7B-8AC8-486F-ACDC-B556B4697696 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-4494D22B-FA54-4E19-B232-583FF6B3D907 + sid-FE95DDDE-0296-4EA3-8E1F-544F561655D5 + + + + + + + + + + + + + + + sid-4545AA7B-8AC8-486F-ACDC-B556B4697696 + sid-FE95DDDE-0296-4EA3-8E1F-544F561655D5 + sid-49F04169-92AC-4FEF-9A0D-CCE622C6826A + + + + + + + + + + + + + + + sid-49F04169-92AC-4FEF-9A0D-CCE622C6826A + sid-ABDE7E70-A31D-49D7-998C-79AB49022B66 + sid-9234DEBB-0A8D-40D2-AE75-4B2EAD888F9A + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-9234DEBB-0A8D-40D2-AE75-4B2EAD888F9A + sid-84F9B3D6-69D9-4CC5-8E14-124ADA9EED01 + + + + + + + + + + + + sid-84F9B3D6-69D9-4CC5-8E14-124ADA9EED01 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/loops/loop_with_multiple_xor.xml b/examples/loops/loop_with_multiple_xor.xml new file mode 100644 index 0000000..4e64485 --- /dev/null +++ b/examples/loops/loop_with_multiple_xor.xml @@ -0,0 +1,1106 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-033DEC7A-EDA2-4F68-B582-96345CC2AF75 + + + + + + + + + + + + sid-2315521A-BDA3-444E-B453-2D546D9E725B + + + + + + + + + + + + + + + sid-4D5E6BA4-4AFE-4B7B-93BC-970382F80678 + sid-58C0D30F-5D69-47D8-B8B9-BE9132974F2D + sid-BB71BB1B-7FF3-454D-80A1-0A47538A0A95 + + + + + + + + + + + + + + + sid-7211C98C-F9DB-4213-8518-7E80E142769F + sid-CAC86FF8-BD07-4CD0-AE15-9E7EBCAD5FC2 + sid-C66C7BA8-A1EC-4B20-AB05-34C8CB0677E4 + + + + + + + + + + + + + + + sid-61536FE6-CE69-4696-950D-5F34D021ED0E + sid-0059C052-482B-4EB9-A4C3-D7BE77C2A9A2 + sid-FF2E06FA-9AC0-4AAF-A38A-1A364810BB9B + + + + + + + + + + + + + + + sid-DA6DFA7B-B975-4F42-B648-16945322657E + sid-05E763BE-555F-4970-A293-8B21FFB34035 + sid-B8ABDC57-784C-4385-A7A8-0AE0A1F68BD0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-BB71BB1B-7FF3-454D-80A1-0A47538A0A95 + sid-7211C98C-F9DB-4213-8518-7E80E142769F + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-58C0D30F-5D69-47D8-B8B9-BE9132974F2D + sid-CAC86FF8-BD07-4CD0-AE15-9E7EBCAD5FC2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-C66C7BA8-A1EC-4B20-AB05-34C8CB0677E4 + sid-61536FE6-CE69-4696-950D-5F34D021ED0E + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-0059C052-482B-4EB9-A4C3-D7BE77C2A9A2 + sid-05E763BE-555F-4970-A293-8B21FFB34035 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-FF2E06FA-9AC0-4AAF-A38A-1A364810BB9B + sid-DA6DFA7B-B975-4F42-B648-16945322657E + + + + + + + + + + + + + + + sid-033DEC7A-EDA2-4F68-B582-96345CC2AF75 + sid-420662BA-1A5A-4FA0-A090-69EDD35A7906 + sid-4D5E6BA4-4AFE-4B7B-93BC-970382F80678 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-B8ABDC57-784C-4385-A7A8-0AE0A1F68BD0 + sid-FF83D8D4-28F9-48DE-928C-436224BB7D4E + + + + + + + + + + + + + + + sid-FF83D8D4-28F9-48DE-928C-436224BB7D4E + sid-2315521A-BDA3-444E-B453-2D546D9E725B + sid-420662BA-1A5A-4FA0-A090-69EDD35A7906 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/loops/nested_loop.xml b/examples/loops/nested_loop.xml new file mode 100644 index 0000000..63d24cb --- /dev/null +++ b/examples/loops/nested_loop.xml @@ -0,0 +1,810 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-83719A3B-90E9-4B7C-A856-01CFDFAEA634 + + + + + + + + + + + + sid-437B4B97-BFAA-4D51-BF82-E80327DBC169 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-00512A36-599B-405D-8D8E-28DCC240D60B + sid-5E71CDFE-BFC4-4C8F-90E7-769A6183A854 + + + + + + + + + + + + + + + sid-5E71CDFE-BFC4-4C8F-90E7-769A6183A854 + sid-4C8F7016-0BAB-44CF-A200-D115497CE666 + sid-99738E1C-DD68-435B-9973-72B7D056CEBD + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-99738E1C-DD68-435B-9973-72B7D056CEBD + sid-7F64E712-80C0-44A6-B020-043C0D01B955 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-7F64E712-80C0-44A6-B020-043C0D01B955 + sid-439F65AC-F859-46DE-B402-1B94595CA4E8 + + + + + + + + + + + + + + + sid-439F65AC-F859-46DE-B402-1B94595CA4E8 + sid-9A847C5D-F492-4151-97D2-89F0EDBB7CB8 + sid-4C8F7016-0BAB-44CF-A200-D115497CE666 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-9A847C5D-F492-4151-97D2-89F0EDBB7CB8 + sid-B227C496-2A20-4AAC-A18A-BB076148F2F5 + + + + + + + + + + + + + + + sid-83719A3B-90E9-4B7C-A856-01CFDFAEA634 + sid-0916F66C-0712-425F-95ED-A72CC76F7767 + sid-00512A36-599B-405D-8D8E-28DCC240D60B + + + + + + + + + + + + + + + sid-B227C496-2A20-4AAC-A18A-BB076148F2F5 + sid-437B4B97-BFAA-4D51-BF82-E80327DBC169 + sid-0916F66C-0712-425F-95ED-A72CC76F7767 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/loops/simple_loop.xml b/examples/loops/simple_loop.xml new file mode 100644 index 0000000..03c1901 --- /dev/null +++ b/examples/loops/simple_loop.xml @@ -0,0 +1,637 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-7D7265FF-F159-42CE-889C-74420BD92905 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-7D7265FF-F159-42CE-889C-74420BD92905 + sid-B2748BFE-5F50-47EF-AEDD-0FEB1E738C6F + + + + + + + + + + + + + + + sid-B2748BFE-5F50-47EF-AEDD-0FEB1E738C6F + sid-412F3F91-FEC6-4F3D-84A6-2082ED8E6BD7 + sid-8E00F0FE-A774-41CD-8298-A23A274E6277 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-8E00F0FE-A774-41CD-8298-A23A274E6277 + sid-F135004D-1066-4986-83BA-FAE02DE229EC + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-F135004D-1066-4986-83BA-FAE02DE229EC + sid-F13B385F-EDEF-4E99-9191-5AED091021F9 + + + + + + + + + + + + + + + sid-F13B385F-EDEF-4E99-9191-5AED091021F9 + sid-B9BCE346-2318-4008-B62D-BDF44E447DFF + sid-412F3F91-FEC6-4F3D-84A6-2082ED8E6BD7 + + + + + + + + + + + + sid-B9BCE346-2318-4008-B62D-BDF44E447DFF + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/loops/two_activities_in_loop.xml b/examples/loops/two_activities_in_loop.xml new file mode 100644 index 0000000..d93df31 --- /dev/null +++ b/examples/loops/two_activities_in_loop.xml @@ -0,0 +1,848 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-83719A3B-90E9-4B7C-A856-01CFDFAEA634 + + + + + + + + + + + + sid-9A847C5D-F492-4151-97D2-89F0EDBB7CB8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-83719A3B-90E9-4B7C-A856-01CFDFAEA634 + sid-5E71CDFE-BFC4-4C8F-90E7-769A6183A854 + + + + + + + + + + + + + + + sid-5E71CDFE-BFC4-4C8F-90E7-769A6183A854 + sid-F68BB0E5-C822-42FF-884E-8CFCD05EA334 + sid-99738E1C-DD68-435B-9973-72B7D056CEBD + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-99738E1C-DD68-435B-9973-72B7D056CEBD + sid-7F64E712-80C0-44A6-B020-043C0D01B955 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-7F64E712-80C0-44A6-B020-043C0D01B955 + sid-439F65AC-F859-46DE-B402-1B94595CA4E8 + + + + + + + + + + + + + + + sid-439F65AC-F859-46DE-B402-1B94595CA4E8 + sid-9A847C5D-F492-4151-97D2-89F0EDBB7CB8 + sid-7AF8C813-1851-4336-8B3A-7D4861F72500 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-7AF8C813-1851-4336-8B3A-7D4861F72500 + sid-CD07697D-EBBB-4317-BA0E-891DACE2E9D2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-CD07697D-EBBB-4317-BA0E-891DACE2E9D2 + sid-F68BB0E5-C822-42FF-884E-8CFCD05EA334 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/loops/two_outgoing_loops.xml b/examples/loops/two_outgoing_loops.xml new file mode 100644 index 0000000..c10aa4e --- /dev/null +++ b/examples/loops/two_outgoing_loops.xml @@ -0,0 +1,752 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-51D186F5-AAF2-41D5-9CA9-433F8032D4CD + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-51D186F5-AAF2-41D5-9CA9-433F8032D4CD + sid-493AA70E-867B-4C2F-90AD-92D20DCA6D8E + + + + + + + + + + + + + + + sid-493AA70E-867B-4C2F-90AD-92D20DCA6D8E + sid-D816F627-ADA4-484E-A55E-39E986644290 + sid-0DEEADA3-012F-4520-AC5D-F196091EBCDE + sid-236E599C-8018-4506-B7A9-1D6109E33114 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-236E599C-8018-4506-B7A9-1D6109E33114 + sid-05794CAD-0147-4804-96EF-7D85CAC0F66A + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-05794CAD-0147-4804-96EF-7D85CAC0F66A + sid-9AF5FA6C-47FA-4CB0-B9E5-D27B058B9212 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-9AF5FA6C-47FA-4CB0-B9E5-D27B058B9212 + sid-9DB529B6-B674-4085-8FFF-DE6062535E92 + + + + + + + + + + + + + + + sid-9DB529B6-B674-4085-8FFF-DE6062535E92 + sid-CF54A624-5C49-4AD6-BAEE-23A9FBAE97F9 + sid-D816F627-ADA4-484E-A55E-39E986644290 + sid-0DEEADA3-012F-4520-AC5D-F196091EBCDE + + + + + + + + + + + + sid-CF54A624-5C49-4AD6-BAEE-23A9FBAE97F9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/main_example/Credit_quote_creation_simplified_SAP Signavio.xml b/examples/main_example/Credit_quote_creation_simplified_SAP Signavio.xml new file mode 100644 index 0000000..9880505 --- /dev/null +++ b/examples/main_example/Credit_quote_creation_simplified_SAP Signavio.xml @@ -0,0 +1,1064 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-38B9A31A-F0F5-4CC6-9215-BEBE7737BC4A + sid-DE01AA8F-B36A-4796-9597-651C8B46C6F3 + + + + + + + + + + + + + sid-DE01AA8F-B36A-4796-9597-651C8B46C6F3 + sid-25136035-D01E-4DC5-AAF9-FE3F803B865B + sid-088B345E-B2CA-455B-A649-B3E8A3C9157E + + + + + + + + + + + + + + + + sid-25136035-D01E-4DC5-AAF9-FE3F803B865B + sid-FA8EA2F2-B2E7-46FC-9B60-441B02FDF8F8 + sid-2C0CB6FB-7B15-4570-975B-89EBCF4072F4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-2C0CB6FB-7B15-4570-975B-89EBCF4072F4 + sid-224B5102-FEB8-44B3-9403-387F263E41A5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-04C1509D-573F-4F83-898D-FAD6E7B606DA + sid-CA7B85EC-6945-4F46-B7BB-F8208FD568E0 + + + + + + + + + + + + + sid-CA7B85EC-6945-4F46-B7BB-F8208FD568E0 + sid-DB57838D-7E05-4F45-B36E-765F6F074084 + sid-77ADCCB1-8CE0-48B2-BA9C-871C9CBB8214 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-77ADCCB1-8CE0-48B2-BA9C-871C9CBB8214 + sid-B7ED9CDB-A923-458F-AA47-A5E7812477BE + + + + + + + + + + + + + sid-B7ED9CDB-A923-458F-AA47-A5E7812477BE + + + + + + + + + + + + + sid-38B9A31A-F0F5-4CC6-9215-BEBE7737BC4A + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-FA8EA2F2-B2E7-46FC-9B60-441B02FDF8F8 + sid-BE5261E4-44C3-4C0E-A6A9-026989C331D1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-088B345E-B2CA-455B-A649-B3E8A3C9157E + sid-DB57838D-7E05-4F45-B36E-765F6F074084 + + + + + + + + + + + + + + + + sid-224B5102-FEB8-44B3-9403-387F263E41A5 + sid-BE5261E4-44C3-4C0E-A6A9-026989C331D1 + sid-04C1509D-573F-4F83-898D-FAD6E7B606DA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/misc/multiple_endings.xml b/examples/misc/multiple_endings.xml new file mode 100644 index 0000000..4608141 --- /dev/null +++ b/examples/misc/multiple_endings.xml @@ -0,0 +1,677 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-D8F5EA08-424B-454F-B944-A3AE802AADF5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-D8F5EA08-424B-454F-B944-A3AE802AADF5 + sid-546D3A7E-C482-4F91-9F9B-70D418F79D6A + + + + + + + + + + + + + + + sid-546D3A7E-C482-4F91-9F9B-70D418F79D6A + sid-24B83BD2-792C-410B-B5D9-E11DE34A847E + sid-D2465F8B-2B1F-4902-8D3E-8C7EDD75FFB7 + sid-80C7308D-5ADC-47D7-9774-BD839ED62CA1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-24B83BD2-792C-410B-B5D9-E11DE34A847E + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-D2465F8B-2B1F-4902-8D3E-8C7EDD75FFB7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-80C7308D-5ADC-47D7-9774-BD839ED62CA1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/misc/multiple_starts.xml b/examples/misc/multiple_starts.xml new file mode 100644 index 0000000..6d1680f --- /dev/null +++ b/examples/misc/multiple_starts.xml @@ -0,0 +1,512 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-D1C58CBC-89F3-4617-B7EB-0A9174CAA10C + + + + + + + + + + + + sid-C82B9930-9C9B-4BD2-B7D3-650CCFE91BAA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-D1C58CBC-89F3-4617-B7EB-0A9174CAA10C + sid-DC475635-D99F-4A04-9095-7CA88EBE1CF4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-C82B9930-9C9B-4BD2-B7D3-650CCFE91BAA + sid-750BDEF6-776A-4B65-B4B8-6A9788EE14E2 + + + + + + + + + + + + + + + sid-DC475635-D99F-4A04-9095-7CA88EBE1CF4 + sid-750BDEF6-776A-4B65-B4B8-6A9788EE14E2 + sid-DB8D1E76-E2BD-46B2-B8F9-64DA72898373 + + + + + + + + + + + + sid-DB8D1E76-E2BD-46B2-B8F9-64DA72898373 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/misc/nested_lanes.xml b/examples/misc/nested_lanes.xml new file mode 100644 index 0000000..7cf9a56 --- /dev/null +++ b/examples/misc/nested_lanes.xml @@ -0,0 +1,781 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-966543BB-9C51-496E-86FC-939FF08D42F9 + sid-CBECC62A-9436-4BFA-8FC5-43C31BD50F8A + + + + + + + + + + + + + + + + + sid-13761D98-14E0-4761-90F3-A0A418CDDA08 + + + + + + + + + sid-38F477AB-DEA5-4D47-A299-0EB75B38FB19 + + + + + + + + + + + + + + + + + sid-03292520-86BC-41EC-AA57-CD9B5073BBF2 + + + + + + + + + sid-B16CE807-A2C6-42A2-A614-29995DE0A331 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-06BC4219-479D-4757-AE4D-430F1E3B3897 + sid-12244947-E4E9-4AF0-BBCC-E737FE93835F + + + + + + + + + + + + sid-12244947-E4E9-4AF0-BBCC-E737FE93835F + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-BCB8EDEF-7F39-473A-9A46-E55BCE8F5834 + sid-C1F8590E-107F-4355-8AF4-CC59E4D1D79E + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-CF8E56B2-20AB-4549-BC7F-031DEDEA2918 + sid-06BC4219-479D-4757-AE4D-430F1E3B3897 + + + + + + + + + + + + sid-BCB8EDEF-7F39-473A-9A46-E55BCE8F5834 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-C1F8590E-107F-4355-8AF4-CC59E4D1D79E + sid-CF8E56B2-20AB-4549-BC7F-031DEDEA2918 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/misc/no_start_no_end.xml b/examples/misc/no_start_no_end.xml new file mode 100644 index 0000000..769e5c9 --- /dev/null +++ b/examples/misc/no_start_no_end.xml @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-BA09F199-A11C-4850-A48F-27450E7C9C2B + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-BA09F199-A11C-4850-A48F-27450E7C9C2B + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/or_gates/single_or_gateway.xml b/examples/or_gates/single_or_gateway.xml new file mode 100644 index 0000000..2059ec7 --- /dev/null +++ b/examples/or_gates/single_or_gateway.xml @@ -0,0 +1,852 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-651B3646-CE12-4318-AD49-0E4A923044EC + + + + + + + + + + + + sid-BF4F50B5-1556-4A3C-9D2A-A0A0C347DEB5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-651B3646-CE12-4318-AD49-0E4A923044EC + sid-7D9767FF-E6EB-4152-9C65-1B11D6262E68 + + + + + + + + + + sid-7D9767FF-E6EB-4152-9C65-1B11D6262E68 + sid-556F8EB4-4CB9-4370-9D83-4BCABC759443 + sid-5867DA7E-63B0-47C4-845D-ED539FE1A66C + sid-DA60A646-4E09-46FC-B8B5-414DE5D41C8F + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-556F8EB4-4CB9-4370-9D83-4BCABC759443 + sid-4E7404D6-ABC8-4A2D-9C3D-3ED593867730 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-5867DA7E-63B0-47C4-845D-ED539FE1A66C + sid-1E64C13B-6E9F-48FE-AF83-F1BE22730B74 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-DA60A646-4E09-46FC-B8B5-414DE5D41C8F + sid-3FF3AA08-B82F-4386-99FF-116B9B157DBA + + + + + + + + + + sid-4E7404D6-ABC8-4A2D-9C3D-3ED593867730 + sid-1E64C13B-6E9F-48FE-AF83-F1BE22730B74 + sid-3FF3AA08-B82F-4386-99FF-116B9B157DBA + sid-A9C805CD-F54B-4827-8B9B-11CDC45CB2C3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-A9C805CD-F54B-4827-8B9B-11CDC45CB2C3 + sid-BF4F50B5-1556-4A3C-9D2A-A0A0C347DEB5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/xor_gates/3_way_split_xor.xml b/examples/xor_gates/3_way_split_xor.xml new file mode 100644 index 0000000..90dce09 --- /dev/null +++ b/examples/xor_gates/3_way_split_xor.xml @@ -0,0 +1,1264 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-7C20EAF0-A42F-4208-9012-2CC4FC1118D7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-7C20EAF0-A42F-4208-9012-2CC4FC1118D7 + sid-5DF81820-6D07-4958-9681-0FEBA039102B + + + + + + + + + + + + + + + sid-5DF81820-6D07-4958-9681-0FEBA039102B + sid-0376B5BD-DB80-4728-9199-6A114C367712 + sid-B5D0531E-9BDD-4638-944F-61448DA0E7AE + sid-32BE7CFB-91FB-4F7D-85D3-913BDC3F6BAD + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-0376B5BD-DB80-4728-9199-6A114C367712 + sid-6C735D09-0A69-462B-94D6-F527C7DF244F + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-B5D0531E-9BDD-4638-944F-61448DA0E7AE + sid-63E1D956-1376-4FB6-97D2-551794914863 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-32BE7CFB-91FB-4F7D-85D3-913BDC3F6BAD + sid-48FBCA3F-2242-4608-A01C-19E92E39A312 + + + + + + + + + + + + + + + sid-63E1D956-1376-4FB6-97D2-551794914863 + sid-3A09E58A-CF69-4E27-84F6-7B9EC0F85054 + sid-7D190D69-BC82-4AA9-9E14-1FF38C795B2B + sid-BCD4E482-8310-42F0-8A72-343DF3E56931 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-48FBCA3F-2242-4608-A01C-19E92E39A312 + sid-3A09E58A-CF69-4E27-84F6-7B9EC0F85054 + + + + + + + + + + + + + + + sid-6C735D09-0A69-462B-94D6-F527C7DF244F + sid-CA537795-C404-4AE1-B25A-E6D0A401FBCF + sid-F8D6DF55-57BC-4DA7-91B8-FCAC1244D5F0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-CA537795-C404-4AE1-B25A-E6D0A401FBCF + sid-F86468A2-F066-4B5C-B094-AEC7EE28F46D + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-F8D6DF55-57BC-4DA7-91B8-FCAC1244D5F0 + sid-80C045A6-0DF3-4EAB-828B-5BD8586F477B + + + + + + + + + + + + + + + sid-80C045A6-0DF3-4EAB-828B-5BD8586F477B + sid-F86468A2-F066-4B5C-B094-AEC7EE28F46D + sid-7D190D69-BC82-4AA9-9E14-1FF38C795B2B + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-BCD4E482-8310-42F0-8A72-343DF3E56931 + sid-15CFA5E7-8A65-45C2-8B45-163E451268C6 + + + + + + + + + + + + sid-15CFA5E7-8A65-45C2-8B45-163E451268C6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/xor_gates/double_nested_trailing_values.xml b/examples/xor_gates/double_nested_trailing_values.xml new file mode 100644 index 0000000..ce521b4 --- /dev/null +++ b/examples/xor_gates/double_nested_trailing_values.xml @@ -0,0 +1,1546 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-861F5195-7A99-40DB-BCA7-300E56A25AAE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-861F5195-7A99-40DB-BCA7-300E56A25AAE + sid-B2D327FB-A3B2-4F32-82DA-D4EE96E58690 + + + + + + + + + + + + + + + sid-B2D327FB-A3B2-4F32-82DA-D4EE96E58690 + sid-E443563D-51B2-4876-879A-E69D2FA336E0 + sid-18AECAD2-98FE-4A63-8913-D1E826F5494A + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-E443563D-51B2-4876-879A-E69D2FA336E0 + sid-31FDA2CE-79A6-44F6-8F40-1003F39DDEFF + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-18AECAD2-98FE-4A63-8913-D1E826F5494A + sid-CD1E2041-B4E6-4513-AAF3-32017B2FCC68 + + + + + + + + + + + + + + + sid-31FDA2CE-79A6-44F6-8F40-1003F39DDEFF + sid-097FEFF4-272F-40D5-B9EB-FD77A2163F1B + sid-86CA6ECD-BE60-411E-B8F2-01F31F1E5F28 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-097FEFF4-272F-40D5-B9EB-FD77A2163F1B + sid-97C5B00B-C07B-429D-A2B6-DCCA9DF09032 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-86CA6ECD-BE60-411E-B8F2-01F31F1E5F28 + sid-FA527604-500B-43BE-8395-D570F6BC2732 + + + + + + + + + + + + + + + sid-97C5B00B-C07B-429D-A2B6-DCCA9DF09032 + sid-FA527604-500B-43BE-8395-D570F6BC2732 + sid-20FFF92E-5D58-4060-9A02-02005E5978ED + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-20FFF92E-5D58-4060-9A02-02005E5978ED + sid-23F5AD48-4CC8-4539-9AAE-BD9469DD5185 + + + + + + + + + + + + + + + sid-CD1E2041-B4E6-4513-AAF3-32017B2FCC68 + sid-2B0D8A8F-090C-49A8-A58C-AD5A74BE1766 + sid-28E941B4-66F7-4943-8D92-72B0D1BD32C8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-2B0D8A8F-090C-49A8-A58C-AD5A74BE1766 + sid-FE44AC2D-42FF-42BB-A306-172CF892D914 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-28E941B4-66F7-4943-8D92-72B0D1BD32C8 + sid-49100AE8-5DFA-4854-AC5B-96C73385FB1D + + + + + + + + + + + + + + + sid-FE44AC2D-42FF-42BB-A306-172CF892D914 + sid-49100AE8-5DFA-4854-AC5B-96C73385FB1D + sid-5123D72D-923B-4443-9DDF-40B6B0379E52 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-5123D72D-923B-4443-9DDF-40B6B0379E52 + sid-4283C680-54EC-480B-8CCF-6C6F9BF5B2C3 + + + + + + + + + + + + + + + sid-23F5AD48-4CC8-4539-9AAE-BD9469DD5185 + sid-4283C680-54EC-480B-8CCF-6C6F9BF5B2C3 + sid-D9DDBFC1-CA92-4426-A8D0-36ED6682C5C2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-D9DDBFC1-CA92-4426-A8D0-36ED6682C5C2 + sid-D7D92E31-7CE8-44BA-95AF-614570F7762F + + + + + + + + + + + + sid-D7D92E31-7CE8-44BA-95AF-614570F7762F + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/xor_gates/longer_xor.xml b/examples/xor_gates/longer_xor.xml new file mode 100644 index 0000000..a00b710 --- /dev/null +++ b/examples/xor_gates/longer_xor.xml @@ -0,0 +1,1178 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-162E80C9-9756-428E-8A66-1E96FB3B1A4D + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-162E80C9-9756-428E-8A66-1E96FB3B1A4D + sid-364FC0C2-0BFD-416E-BF24-99BDB6CBF638 + + + + + + + + + + + + + + + sid-364FC0C2-0BFD-416E-BF24-99BDB6CBF638 + sid-F40E18BC-C4D5-4401-92F8-15425D102DC6 + sid-E1BCFB46-13DC-4E2D-BFFC-9A9B24157E09 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-F40E18BC-C4D5-4401-92F8-15425D102DC6 + sid-88517D91-D43D-474C-9150-6C93093E2940 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-E1BCFB46-13DC-4E2D-BFFC-9A9B24157E09 + sid-8FF38B7A-227F-4681-8895-0842B7B913BC + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-8FF38B7A-227F-4681-8895-0842B7B913BC + sid-5B9B48A6-834D-4EFA-9B42-13585AA58625 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-5B9B48A6-834D-4EFA-9B42-13585AA58625 + sid-8B2E8A4B-3D9B-4107-B0CB-D2DBC09ECBC6 + + + + + + + + + + + + + + + sid-8B2E8A4B-3D9B-4107-B0CB-D2DBC09ECBC6 + sid-501C5DDC-7D53-49B5-8A47-37162DF5BADD + sid-82931C68-5D30-4F83-990D-B5F264449694 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-88517D91-D43D-474C-9150-6C93093E2940 + sid-E955AB58-AFE6-4E0A-9B51-9FEB6DCD053B + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-E955AB58-AFE6-4E0A-9B51-9FEB6DCD053B + sid-501C5DDC-7D53-49B5-8A47-37162DF5BADD + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-82931C68-5D30-4F83-990D-B5F264449694 + sid-DCEF2B44-012F-4342-BF16-0681FAEF4EBC + + + + + + + + + + + + sid-DCEF2B44-012F-4342-BF16-0681FAEF4EBC + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/xor_gates/multiple_xor.xml b/examples/xor_gates/multiple_xor.xml new file mode 100644 index 0000000..0d00496 --- /dev/null +++ b/examples/xor_gates/multiple_xor.xml @@ -0,0 +1,924 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-033DEC7A-EDA2-4F68-B582-96345CC2AF75 + + + + + + + + + + + + sid-B8ABDC57-784C-4385-A7A8-0AE0A1F68BD0 + + + + + + + + + + + + + + + sid-033DEC7A-EDA2-4F68-B582-96345CC2AF75 + sid-58C0D30F-5D69-47D8-B8B9-BE9132974F2D + sid-BB71BB1B-7FF3-454D-80A1-0A47538A0A95 + + + + + + + + + + + + + + + sid-7211C98C-F9DB-4213-8518-7E80E142769F + sid-CAC86FF8-BD07-4CD0-AE15-9E7EBCAD5FC2 + sid-C66C7BA8-A1EC-4B20-AB05-34C8CB0677E4 + + + + + + + + + + + + + + + sid-61536FE6-CE69-4696-950D-5F34D021ED0E + sid-0059C052-482B-4EB9-A4C3-D7BE77C2A9A2 + sid-FF2E06FA-9AC0-4AAF-A38A-1A364810BB9B + + + + + + + + + + + + + + + sid-DA6DFA7B-B975-4F42-B648-16945322657E + sid-05E763BE-555F-4970-A293-8B21FFB34035 + sid-B8ABDC57-784C-4385-A7A8-0AE0A1F68BD0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-BB71BB1B-7FF3-454D-80A1-0A47538A0A95 + sid-7211C98C-F9DB-4213-8518-7E80E142769F + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-58C0D30F-5D69-47D8-B8B9-BE9132974F2D + sid-CAC86FF8-BD07-4CD0-AE15-9E7EBCAD5FC2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-C66C7BA8-A1EC-4B20-AB05-34C8CB0677E4 + sid-61536FE6-CE69-4696-950D-5F34D021ED0E + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-0059C052-482B-4EB9-A4C3-D7BE77C2A9A2 + sid-05E763BE-555F-4970-A293-8B21FFB34035 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-FF2E06FA-9AC0-4AAF-A38A-1A364810BB9B + sid-DA6DFA7B-B975-4F42-B648-16945322657E + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/xor_gates/nested_xor.xml b/examples/xor_gates/nested_xor.xml new file mode 100644 index 0000000..04b5d70 --- /dev/null +++ b/examples/xor_gates/nested_xor.xml @@ -0,0 +1,1109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-6F09E946-4CB8-413C-87CC-790026AC6249 + + + + + + + + + + + + sid-B217324B-CE73-4694-B66B-403D3BD445BB + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-6F09E946-4CB8-413C-87CC-790026AC6249 + sid-5B9013BA-3323-4092-BAE3-2FC179F620E1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-3752DF17-6420-4395-A93C-018D90F88E0A + sid-B217324B-CE73-4694-B66B-403D3BD445BB + + + + + + + + + + + + + + + sid-5B9013BA-3323-4092-BAE3-2FC179F620E1 + sid-A95C4F77-2BAA-4F47-A3FE-87B5C929F724 + sid-BCBB683C-3257-432A-9A84-0843A013CB66 + + + + + + + + + + + + + + + sid-1BA009A6-3DD5-4BF6-9092-A25232F1E919 + sid-030B78FB-A37C-496B-AECE-AB7EF865E4F7 + sid-3752DF17-6420-4395-A93C-018D90F88E0A + + + + + + + + + + + + + + + sid-BCBB683C-3257-432A-9A84-0843A013CB66 + sid-ECB58AD4-7D66-418A-9252-AF3AC1918325 + sid-C2DC3749-93B8-4F30-A70C-BC6562E0E19A + + + + + + + + + + + + + + + sid-A95C4F77-2BAA-4F47-A3FE-87B5C929F724 + sid-8D801F5D-C51D-4719-BCB9-73F748116215 + sid-F04DCD11-285D-4A8A-A11E-F502AFA57819 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-8D801F5D-C51D-4719-BCB9-73F748116215 + sid-F16CE26F-0413-41AA-ACF7-BD3755EF7D4B + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-F04DCD11-285D-4A8A-A11E-F502AFA57819 + sid-6D7CF91F-6D6F-4F5E-B3B0-168E47931D73 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-ECB58AD4-7D66-418A-9252-AF3AC1918325 + sid-C136D286-5C06-4DAF-9E27-147A387BACDA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-C2DC3749-93B8-4F30-A70C-BC6562E0E19A + sid-3E20BC21-52F6-4940-A266-3BEF70F565CA + + + + + + + + + + + + + + + sid-C136D286-5C06-4DAF-9E27-147A387BACDA + sid-3E20BC21-52F6-4940-A266-3BEF70F565CA + sid-1BA009A6-3DD5-4BF6-9092-A25232F1E919 + + + + + + + + + + + + + + + sid-6D7CF91F-6D6F-4F5E-B3B0-168E47931D73 + sid-F16CE26F-0413-41AA-ACF7-BD3755EF7D4B + sid-030B78FB-A37C-496B-AECE-AB7EF865E4F7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/xor_gates/nested_xor_with_before_and_after_activities.xml b/examples/xor_gates/nested_xor_with_before_and_after_activities.xml new file mode 100644 index 0000000..ede28cd --- /dev/null +++ b/examples/xor_gates/nested_xor_with_before_and_after_activities.xml @@ -0,0 +1,1360 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-C334E59F-5E84-4741-B701-BF9975AF7EC0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-C334E59F-5E84-4741-B701-BF9975AF7EC0 + sid-3C1936D0-9524-4BB6-B313-9F1FD753756B + + + + + + + + + + + + + + + sid-3C1936D0-9524-4BB6-B313-9F1FD753756B + sid-74ECBCC7-7F82-460B-B4CB-A5A86F4B5EA5 + sid-FCA07519-13E8-49C1-8EE7-B2E929D8B2C4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-74ECBCC7-7F82-460B-B4CB-A5A86F4B5EA5 + sid-8AD19514-E4B9-4AE1-9AD4-C485CF7FC413 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-FCA07519-13E8-49C1-8EE7-B2E929D8B2C4 + sid-CA69DECD-34E5-4C37-A79A-816C503D00AB + + + + + + + + + + + + + + + sid-8AD19514-E4B9-4AE1-9AD4-C485CF7FC413 + sid-8E6D2767-CEB5-43AD-8630-BB6901AD1895 + sid-26D2DDEE-3F97-4FE6-87A6-D114EA02605A + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-8E6D2767-CEB5-43AD-8630-BB6901AD1895 + sid-7E3788D8-7B72-4275-8373-40917AD778C3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-26D2DDEE-3F97-4FE6-87A6-D114EA02605A + sid-A70C9071-7CC3-483B-8582-CB884E5EC685 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-7E3788D8-7B72-4275-8373-40917AD778C3 + sid-A14ED911-15B9-4D87-B3CA-87E63DBB40A6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-A70C9071-7CC3-483B-8582-CB884E5EC685 + sid-8144C6A0-870F-4AB5-B548-200B9AAAF230 + + + + + + + + + + + + + + + sid-A14ED911-15B9-4D87-B3CA-87E63DBB40A6 + sid-8144C6A0-870F-4AB5-B548-200B9AAAF230 + sid-3C7735CF-2742-4DDE-B6BF-2271EEEFA98C + + + + + + + + + + + + + + + sid-CA69DECD-34E5-4C37-A79A-816C503D00AB + sid-E3D36174-A21D-4FD6-9F86-0D32CC8E3BD4 + sid-891F07A6-CB58-4E1E-91EE-BABFDF63A6E5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-891F07A6-CB58-4E1E-91EE-BABFDF63A6E5 + sid-2C3458A6-EABA-4FCE-92B2-84BC47AD557C + + + + + + + + + + + + sid-2C3458A6-EABA-4FCE-92B2-84BC47AD557C + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-3C7735CF-2742-4DDE-B6BF-2271EEEFA98C + sid-E3D36174-A21D-4FD6-9F86-0D32CC8E3BD4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/xor_gates/nested_xor_with_double_ending.xml b/examples/xor_gates/nested_xor_with_double_ending.xml new file mode 100644 index 0000000..3e3d2e0 --- /dev/null +++ b/examples/xor_gates/nested_xor_with_double_ending.xml @@ -0,0 +1,1234 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-3FD1BA97-590F-4D1A-8598-181647AE708E + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-3FD1BA97-590F-4D1A-8598-181647AE708E + sid-3467BBAF-9ECE-4E17-AD34-9C955E48A84C + + + + + + + + + + + + + + + sid-3467BBAF-9ECE-4E17-AD34-9C955E48A84C + sid-5339D30F-AD39-4C92-BBFD-FD7B11D9F93C + sid-A56206C8-5878-428B-A336-082FC6DA9405 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-5339D30F-AD39-4C92-BBFD-FD7B11D9F93C + sid-F1A4FA9C-C68B-43E0-B270-214D4BD0ADA4 + + + + + + + + + + + + sid-A56206C8-5878-428B-A336-082FC6DA9405 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-F1A4FA9C-C68B-43E0-B270-214D4BD0ADA4 + sid-1B272420-F6B2-40E8-A427-3D483A7C0079 + + + + + + + + + + + + + + + sid-1B272420-F6B2-40E8-A427-3D483A7C0079 + sid-F7F42746-99CD-4DF8-8BD5-834A251D027C + sid-D1115244-4F74-4752-9CE9-244E782B97AA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-F7F42746-99CD-4DF8-8BD5-834A251D027C + sid-AF9BCC0A-3A0F-4DF9-8756-B4AFEE60725F + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-D1115244-4F74-4752-9CE9-244E782B97AA + sid-5D7D25EB-9C03-4A9D-823A-308F240EF759 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-AF9BCC0A-3A0F-4DF9-8756-B4AFEE60725F + sid-3290F556-D993-46F0-8AE4-1638C2165C94 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-5D7D25EB-9C03-4A9D-823A-308F240EF759 + sid-08C99D01-72A2-4E8D-A403-141BCF9115ED + + + + + + + + + + + + + + + sid-3290F556-D993-46F0-8AE4-1638C2165C94 + sid-08C99D01-72A2-4E8D-A403-141BCF9115ED + sid-E0284A3F-70CA-44FC-94E4-76C5A86F2EE7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-E0284A3F-70CA-44FC-94E4-76C5A86F2EE7 + sid-F4024213-8905-4C42-BD7C-E1F9445DBFF0 + + + + + + + + + + + + sid-F4024213-8905-4C42-BD7C-E1F9445DBFF0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/xor_gates/single_xor.xml b/examples/xor_gates/single_xor.xml new file mode 100644 index 0000000..f21bc2c --- /dev/null +++ b/examples/xor_gates/single_xor.xml @@ -0,0 +1,740 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-BB798069-B31E-4A5F-A1E5-27BF68840909 + + + + + + + + + + + + sid-2FBA0CCE-59BE-47CA-8EA1-5066CAAC339D + + + + + + + + + + + + + + + sid-E257E9EB-3968-45CA-A3DB-C1B57BC6E6E0 + sid-58C0D30F-5D69-47D8-B8B9-BE9132974F2D + sid-BB71BB1B-7FF3-454D-80A1-0A47538A0A95 + + + + + + + + + + + + + + + sid-7211C98C-F9DB-4213-8518-7E80E142769F + sid-CAC86FF8-BD07-4CD0-AE15-9E7EBCAD5FC2 + sid-C66C7BA8-A1EC-4B20-AB05-34C8CB0677E4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-BB71BB1B-7FF3-454D-80A1-0A47538A0A95 + sid-7211C98C-F9DB-4213-8518-7E80E142769F + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-58C0D30F-5D69-47D8-B8B9-BE9132974F2D + sid-CAC86FF8-BD07-4CD0-AE15-9E7EBCAD5FC2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-C66C7BA8-A1EC-4B20-AB05-34C8CB0677E4 + sid-2FBA0CCE-59BE-47CA-8EA1-5066CAAC339D + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-BB798069-B31E-4A5F-A1E5-27BF68840909 + sid-E257E9EB-3968-45CA-A3DB-C1B57BC6E6E0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 9e93b7e13c7f5c71872a35322c6dffd06eef01cd Mon Sep 17 00:00:00 2001 From: MarcusRostSAP Date: Fri, 20 Oct 2023 10:29:42 +0200 Subject: [PATCH 02/13] Changed test constants to include xmlpath --- tests/file_constants.py | 26 +++++++++++++++++--------- tests/test_utils.py | 8 ++++---- tests/test_xml_file.py | 6 +++--- 3 files changed, 24 insertions(+), 16 deletions(-) diff --git a/tests/file_constants.py b/tests/file_constants.py index cd52d64..3f2eff0 100644 --- a/tests/file_constants.py +++ b/tests/file_constants.py @@ -1,12 +1,6 @@ LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END = { "path": "examples/linear/linear_sequence.json", - "start element id": "sid-79912385-C358-446C-8EBB-07429B015548", - "end element id": "sid-BEA0DEB9-2482-42D9-9846-9E6C5541FA54", - "successor id": "sid-338230CF-C52B-4C83-9B4E-A8388E336593", -} - -LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END_XML = { - "path": "examples/xml/Invoice processing.xml", + "xmlpath": "examples/linear/linear_sequence.xml", "start element id": "sid-79912385-C358-446C-8EBB-07429B015548", "end element id": "sid-BEA0DEB9-2482-42D9-9846-9E6C5541FA54", "successor id": "sid-338230CF-C52B-4C83-9B4E-A8388E336593", @@ -14,12 +8,14 @@ LINEAR_SEQUENCE_DIAGRAM_WITHOUT_START_AND_END = { "path": "examples/misc/no_start_no_end.json", + "xmlpath": "examples/misc/no_start_no_end.xml", "start element id": "sid-E9508543-5660-4C85-9E42-1119DAAD80C2", "end element id": "sid-08543ADB-C8D6-4026-8A03-1228CC559A7F", } MULTIPLE_STARTS_DIAGRAM = { "path": "examples/misc/multiple_starts.json", + "xmlpath": "examples/misc/multiple_starts.xml", "start elements": [ "sid-63552E64-B2A2-4D39-A168-2C6A30BB76F7", "sid-AB69BFC4-A028-480F-BC16-BAC74F4A8EDD", @@ -28,6 +24,7 @@ MULTIPLE_ENDINGS_DIAGRAM = { "path": "examples/misc/multiple_endings.json", + "xmlpath": "examples/misc/multiple_starts.xml", "ending elements": [ "sid-F54D1372-E982-4B0F-9543-F3CC3C6F595F", "sid-42CD2A75-895E-4E2C-9340-6CE7C5570EFF", @@ -37,12 +34,14 @@ SINGLE_XOR_GATEWAY_DIAGRAM = { "path": "examples/xor_gates/single_xor.json", + "xmlpath": "examples/xor_gates/single_xor.xml", "splitting id": "sid-E1967D7F-6A3B-40CB-A8E9-31606735C37A", "joining id": "sid-87FDC0D7-9BEE-4FB2-952A-FEDEA56F73AA", } THREE_SPLIT_XOR_GATEWAY_DIAGRAM = { "path": "examples/xor_gates/3_way_split_xor.json", + "xmlpath": "examples/xor_gates/3_way_split_xor.xml", "splitting id": "sid-7946CDE8-E0E9-4730-8D59-E48E15C331B8", "successors": [ "sid-DEEAF1CC-6862-41BE-8FE4-C9630A72A6E7", @@ -53,6 +52,7 @@ PARALLEL_GATEWAY_DIAGRAM = { "path": "examples/and_gates/longer_and.json", + "xmlpath": "examples/and_gates/longer_and.xml", "start element id": "sid-2FE6222A-6971-4860-AD8D-535CED93A0A2", "ending element id": "sid-41F52A20-F3FC-4363-9A0C-A73114841060", "gateway elements": [ @@ -69,18 +69,26 @@ ], } -XOR_GATEWAY_DIAGRAM = {"path": "examples/xor_gates/longer_xor.json"} +XOR_GATEWAY_DIAGRAM = { + "path": "examples/xor_gates/longer_xor.json", + "xmlpath": "examples/xor_gates/longer_xor.xml", +} -XOR_GATEWAY_SEQUENCE_DIAGRAM = {"path": "examples/xor_gates/multiple_xor.json"} +XOR_GATEWAY_SEQUENCE_DIAGRAM = { + "path": "examples/xor_gates/multiple_xor.json", + "xmlpath": "examples/xor_gates/multiple_xor.xml", +} REQUIREMENTS_TXT = {"path": "requirements.txt"} LINEAR_MERMAID_GRAPH = { "path": "examples/linear/linear_sequence.json", + "xmlpath": "examples/linear/linear_sequence.xml", "output": "flowchart LR\n0:startnoneevent:((start))-->1:task:(register invoice)\n1:task:-->2:task:(check invoice)\n2:task:-->3:task:(accept invoice)\n3:task:-->4:endnoneevent:((end))", } GATEWAY_MERMAID_GRAPH = { "path": "examples/xor_gates/single_xor.json", + "xmlpath": "examples/xor_gates/single_xor.xml", "output": "flowchart LR\n0:exclusive_databased_gateway:{XOR}-->1:task:(second activity)\n0:exclusive_databased_gateway:{XOR}-->2:task:(first activity)\n3:exclusive_databased_gateway:{XOR}-->4:task:(third activity)\n2:task:-->3:exclusive_databased_gateway:\n1:task:-->3:exclusive_databased_gateway:\n4:task:-->5:endnoneevent:((endnoneevent))\n6:startnoneevent:((startnoneevent))-->7:task:(zero activity)\n7:task:-->0:exclusive_databased_gateway:", } diff --git a/tests/test_utils.py b/tests/test_utils.py index c3a4945..da214ec 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -5,16 +5,16 @@ from bpmnconstraints.mermaid.mermaidtranslation import Mermaid -def init_test_setup_for_parser(diagram_constant): - path = Path(diagram_constant.get("path")) +def init_test_setup_for_parser(diagram_constant, test_xml = False): + path = Path(diagram_constant["xmlpath" if test_xml else "path"]) setup = Setup(None) if setup.is_file(path): res = Parser(path, True, True).run() return res -def init_test_setup_for_compiler(diagram_constant): - path = Path(diagram_constant.get("path")) +def init_test_setup_for_compiler(diagram_constant, test_xml = False): + path = Path(diagram_constant["xmlpath" if test_xml else "path"]) constraints = [] setup = Setup(None) if setup.is_file(path): diff --git a/tests/test_xml_file.py b/tests/test_xml_file.py index f84a2c8..4a42612 100644 --- a/tests/test_xml_file.py +++ b/tests/test_xml_file.py @@ -1,7 +1,6 @@ from json import JSONDecodeError from pytest import raises from file_constants import ( - LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END_XML, LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END, REQUIREMENTS_TXT, ) @@ -11,7 +10,8 @@ def test_xml_file_is_identified(): try: xml = init_test_setup_for_compiler( - LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END_XML + LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END, + test_xml=True ) except JSONDecodeError: assert False @@ -24,6 +24,6 @@ def test_unsupported_file_extension_is_rejected(): def test_that_xml_and_json_parsing_generates_same_output(): json = init_test_setup_for_compiler(LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END) - xml = init_test_setup_for_compiler(LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END_XML) + xml = init_test_setup_for_compiler(LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END, test_xml=True) assert sorted(json) == sorted(xml) From b01e3502162507cbe250e221344aee01284c3454 Mon Sep 17 00:00:00 2001 From: MarcusRostSAP Date: Mon, 23 Oct 2023 14:56:59 +0200 Subject: [PATCH 03/13] Add tests for xml code --- tests/test_end_constraints.py | 31 ++++++++++++++----- tests/test_gateway_constraints.py | 10 +++++++ tests/test_gateway_splitting_joining.py | 23 ++++++++++++++ tests/test_init_constraints.py | 24 +++++++++++++++ tests/test_is_end.py | 29 ++++++++++++++++++ tests/test_is_start.py | 28 +++++++++++++++++ tests/test_mermaid.py | 8 +++++ tests/test_part_of_gateway.py | 18 +++++++++++ tests/test_precedence_constraints.py | 21 +++++++++++++ tests/test_response_constraint.py | 20 +++++++++++++ tests/test_sequential_flow.py | 40 +++++++++++++++++++++++++ tests/test_transitivity.py | 19 ++++++++++++ tests/test_xml_file.py | 2 +- 13 files changed, 265 insertions(+), 8 deletions(-) diff --git a/tests/test_end_constraints.py b/tests/test_end_constraints.py index 8b80d84..4018e98 100644 --- a/tests/test_end_constraints.py +++ b/tests/test_end_constraints.py @@ -3,7 +3,7 @@ MULTIPLE_ENDINGS_DIAGRAM, LINEAR_SEQUENCE_DIAGRAM_WITHOUT_START_AND_END, XOR_GATEWAY_SEQUENCE_DIAGRAM, - LINEAR_MERMAID_GRAPH, + LINEAR_MERMAID_GRAPH ) @@ -26,15 +26,32 @@ def test_end_constraint_is_generated_without_explicit_end_event(): res = init_test_setup_for_compiler(LINEAR_SEQUENCE_DIAGRAM_WITHOUT_START_AND_END) assert "End[second element]" in res +def test_end_constraint_is_generated_when_xor_gateway(): + res = init_test_setup_for_compiler(XOR_GATEWAY_SEQUENCE_DIAGRAM) + expected_ending_constraints = [ + "End[activity four]", + "End[activity five]", + ] + assert all(constraint in res for constraint in expected_ending_constraints) -def test_end_constraint_is_generated_when_multiple_endings(): - res = init_test_setup_for_parser(XOR_GATEWAY_SEQUENCE_DIAGRAM) - - assert res[-1]["is end"] and res[-2]["is end"] and not res[3]["is end"] +def test_end_constraint_is_generated_when_multiple_endings_XML(): + res = init_test_setup_for_compiler(MULTIPLE_ENDINGS_DIAGRAM, test_xml=True) + expected_ending_constraints = [ + "End[ending one]", + "End[ending two]", + "End[ending three]", + ] + assert all(constraint in res for constraint in expected_ending_constraints) +def test_end_constraint_is_generated_with_linear_parser_XML(): + res = init_test_setup_for_parser(LINEAR_MERMAID_GRAPH, test_xml=True) + assert res[-1]["is end"] == True -def test_end_constraint_is_generated_when_xor_gateway(): - res = init_test_setup_for_compiler(XOR_GATEWAY_SEQUENCE_DIAGRAM) +def test_end_constraint_is_generated_without_explicit_end_event_XML(): + res = init_test_setup_for_compiler(LINEAR_SEQUENCE_DIAGRAM_WITHOUT_START_AND_END, test_xml=True) + assert "End[second element]" in res +def test_end_constraint_is_generated_when_xor_gateway_XML(): + res = init_test_setup_for_compiler(XOR_GATEWAY_SEQUENCE_DIAGRAM, test_xml=True) expected_ending_constraints = [ "End[activity four]", "End[activity five]", diff --git a/tests/test_gateway_constraints.py b/tests/test_gateway_constraints.py index 744460c..efa5f1d 100644 --- a/tests/test_gateway_constraints.py +++ b/tests/test_gateway_constraints.py @@ -11,3 +11,13 @@ def test_that_all_gateway_constraints_are_generated(): ] # assert res == expected_gateway_constraints assert all(constraint in res for constraint in expected_gateway_constraints) + +def test_that_all_gateway_constraints_are_generated_XML(): + res = init_test_setup_for_compiler(THREE_SPLIT_XOR_GATEWAY_DIAGRAM, True) + expected_gateway_constraints = [ + "Exclusive Choice[activity four, activity two]", + "Exclusive Choice[activity three, activity two]", + "Exclusive Choice[activity three, activity four]", + ] + # assert res == expected_gateway_constraints + assert all(constraint in res for constraint in expected_gateway_constraints) diff --git a/tests/test_gateway_splitting_joining.py b/tests/test_gateway_splitting_joining.py index 534a10e..1eceee3 100644 --- a/tests/test_gateway_splitting_joining.py +++ b/tests/test_gateway_splitting_joining.py @@ -24,3 +24,26 @@ def test_gateway_splitting_to_three_paths(): assert sorted(successors_id) == sorted( THREE_SPLIT_XOR_GATEWAY_DIAGRAM.get("successors") ) + +def test_element_is_marked_as_splitting_gateway_if_it_is_splitting_xml(): + res = init_test_setup_for_parser(SINGLE_XOR_GATEWAY_DIAGRAM, True) + for elem in res: + if elem.get("id") == SINGLE_XOR_GATEWAY_DIAGRAM.get("splitting id"): + assert elem.get("splitting") + + +def test_element_is_marked_as_joining_gateway_if_it_is_joining_xml(): + res = init_test_setup_for_parser(SINGLE_XOR_GATEWAY_DIAGRAM, True) + for elem in res: + if elem.get("id") == SINGLE_XOR_GATEWAY_DIAGRAM.get("joining id"): + assert elem.get("joining") + + +def test_gateway_splitting_to_three_paths_xml(): + res = init_test_setup_for_parser(THREE_SPLIT_XOR_GATEWAY_DIAGRAM, True) + for elem in res: + if elem.get("id") == THREE_SPLIT_XOR_GATEWAY_DIAGRAM.get("splitting id"): + successors_id = [x.get("id") for x in elem.get("successor")] + assert sorted(successors_id) == sorted( + THREE_SPLIT_XOR_GATEWAY_DIAGRAM.get("successors") + ) diff --git a/tests/test_init_constraints.py b/tests/test_init_constraints.py index 247776b..30d3208 100644 --- a/tests/test_init_constraints.py +++ b/tests/test_init_constraints.py @@ -29,3 +29,27 @@ def test_missing_init_constraints_for_XOR_gate(): "Init[activity two]", ] assert all(constraint in res for constraint in expected_init_constraints) + +def test_init_constraint_is_generated_without_explicit_start_event_xml(): + res = init_test_setup_for_compiler(LINEAR_SEQUENCE_DIAGRAM_WITHOUT_START_AND_END, True) + assert "Init[first element]" in res + + +def test_that_each_start_has_init_constraint_xml(): + res = init_test_setup_for_compiler(MULTIPLE_STARTS_DIAGRAM, True) + expected_init_constraints = ["Init[path one]", "Init[path two]"] + assert all(constraint in res for constraint in expected_init_constraints) + + +def test_missing_init_constraints_for_XOR_gate_parser_xml(): + res = init_test_setup_for_parser(XOR_GATEWAY_SEQUENCE_DIAGRAM, True) + assert res[4]["is start"] and res[5]["is start"] and not res[0]["is start"] + + +def test_missing_init_constraints_for_XOR_gate_xml(): + res = init_test_setup_for_compiler(XOR_GATEWAY_SEQUENCE_DIAGRAM, True) + expected_init_constraints = [ + "Init[activity one]", + "Init[activity two]", + ] + assert all(constraint in res for constraint in expected_init_constraints) diff --git a/tests/test_is_end.py b/tests/test_is_end.py index b721004..9082814 100644 --- a/tests/test_is_end.py +++ b/tests/test_is_end.py @@ -34,3 +34,32 @@ def test_all_start_elements_are_marked_as_ending_if_multiple_endings(): ): end_count += 1 assert end_count == len(MULTIPLE_ENDINGS_DIAGRAM.get("ending elements")) + + +def test_element_is_marked_as_end_if_it_has_no_successors_xml(): + res = init_test_setup_for_parser(LINEAR_SEQUENCE_DIAGRAM_WITHOUT_START_AND_END, True) + for elem in res: + if elem.get("is end"): + assert elem.get("id") == LINEAR_SEQUENCE_DIAGRAM_WITHOUT_START_AND_END.get( + "end element id" + ) + + +def test_element_is_marked_as_end_if_successor_is_end_event_xml(): + res = init_test_setup_for_parser(LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END, True) + for elem in res: + if elem.get("is end"): + assert elem.get("id") == LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END.get( + "end element id" + ) + + +def test_all_start_elements_are_marked_as_ending_if_multiple_endings_xml(): + res = init_test_setup_for_parser(MULTIPLE_ENDINGS_DIAGRAM, True) + end_count = 0 + for elem in res: + if elem.get("is end") and elem.get("id") in MULTIPLE_ENDINGS_DIAGRAM.get( + "ending elements" + ): + end_count += 1 + assert end_count == len(MULTIPLE_ENDINGS_DIAGRAM.get("ending elements")) diff --git a/tests/test_is_start.py b/tests/test_is_start.py index 139d7d0..f5e00fd 100644 --- a/tests/test_is_start.py +++ b/tests/test_is_start.py @@ -34,3 +34,31 @@ def test_all_start_elements_are_marked_as_starts_if_multiple_starts(): ): start_count += 1 assert start_count == len(MULTIPLE_STARTS_DIAGRAM.get("start elements")) + +def test_element_is_marked_as_start_if_it_has_no_predecessors_xml(): + res = init_test_setup_for_parser(LINEAR_SEQUENCE_DIAGRAM_WITHOUT_START_AND_END, True) + for elem in res: + if elem.get("is start"): + assert elem.get("id") == LINEAR_SEQUENCE_DIAGRAM_WITHOUT_START_AND_END.get( + "start element id" + ) + + +def test_element_is_marked_as_start_if_predecessor_is_start_event_xml(): + res = init_test_setup_for_parser(LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END, True) + for elem in res: + if elem.get("is start"): + assert elem.get("id") == LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END.get( + "start element id" + ) + + +def test_all_start_elements_are_marked_as_starts_if_multiple_starts_xml(): + res = init_test_setup_for_parser(MULTIPLE_STARTS_DIAGRAM, True) + start_count = 0 + for elem in res: + if elem.get("is start") and elem.get("id") in MULTIPLE_STARTS_DIAGRAM.get( + "start elements" + ): + start_count += 1 + assert start_count == len(MULTIPLE_STARTS_DIAGRAM.get("start elements")) diff --git a/tests/test_mermaid.py b/tests/test_mermaid.py index ce17658..614a140 100644 --- a/tests/test_mermaid.py +++ b/tests/test_mermaid.py @@ -10,3 +10,11 @@ def test_linear_mermaid_graph(): def test_gateway_mermaid_graph(): res = init_test_setup_for_mermaid(GATEWAY_MERMAID_GRAPH) assert GATEWAY_MERMAID_GRAPH.get("output") == res + +def test_linear_mermaid_graph_xml(): + res = init_test_setup_for_mermaid(LINEAR_MERMAID_GRAPH, True) + assert LINEAR_MERMAID_GRAPH.get("output") == res + +def test_gateway_mermaid_graph_xml(): + res = init_test_setup_for_mermaid(GATEWAY_MERMAID_GRAPH, True) + assert GATEWAY_MERMAID_GRAPH.get("output") == res diff --git a/tests/test_part_of_gateway.py b/tests/test_part_of_gateway.py index 067e623..9075974 100644 --- a/tests/test_part_of_gateway.py +++ b/tests/test_part_of_gateway.py @@ -20,3 +20,21 @@ def test_element_outside_gateway_construct_is_not_marked_as_part_of_gateway(): assert num_elems_not_in_gateway == len( PARALLEL_GATEWAY_DIAGRAM.get("not gateway elements") ) + +def test_element_in_gateway_construct_is_marked_as_part_of_gateway_xml(): + res = init_test_setup_for_parser(PARALLEL_GATEWAY_DIAGRAM, True) + num_elems_in_gateway = 0 + for elem in res: + if elem.get("id") in PARALLEL_GATEWAY_DIAGRAM.get("gateway elements"): + num_elems_in_gateway += 1 + assert num_elems_in_gateway == len(PARALLEL_GATEWAY_DIAGRAM.get("gateway elements")) + +def test_element_outside_gateway_construct_is_not_marked_as_part_of_gateway_xml(): + res = init_test_setup_for_parser(PARALLEL_GATEWAY_DIAGRAM, True) + num_elems_not_in_gateway = 0 + for elem in res: + if elem.get("id") in PARALLEL_GATEWAY_DIAGRAM.get("not gateway elements"): + num_elems_not_in_gateway += 1 + assert num_elems_not_in_gateway == len( + PARALLEL_GATEWAY_DIAGRAM.get("not gateway elements") + ) diff --git a/tests/test_precedence_constraints.py b/tests/test_precedence_constraints.py index 6250329..8ce8cce 100644 --- a/tests/test_precedence_constraints.py +++ b/tests/test_precedence_constraints.py @@ -22,3 +22,24 @@ def test_precedence_constraint_is_generated_for_element_between_two_gateway_cons "Alternate Precedence[activity three, activity five]", ] assert all(constraint in res for constraint in expected_precedence_constraints) + +def test_precedence_constraint_is_generated_for_splitting_gateway_xml(): + res = init_test_setup_for_compiler(XOR_GATEWAY_DIAGRAM, True) + expected_precedence_constraints = [ + "Precedence[first activity, second activity upper]", + "Precedence[first activity, second activity lower]", + "Alternate Precedence[first activity, second activity upper]", + "Alternate Precedence[first activity, second activity lower]", + ] + assert all(constraint in res for constraint in expected_precedence_constraints) + + +def test_precedence_constraint_is_generated_for_element_between_two_gateway_constructs_xml(): + res = init_test_setup_for_compiler(XOR_GATEWAY_SEQUENCE_DIAGRAM, True) + expected_precedence_constraints = [ + "Precedence[activity three, activity four]", + "Precedence[activity three, activity five]", + "Alternate Precedence[activity three, activity four]", + "Alternate Precedence[activity three, activity five]", + ] + assert all(constraint in res for constraint in expected_precedence_constraints) diff --git a/tests/test_response_constraint.py b/tests/test_response_constraint.py index dbbeb05..b8a5987 100644 --- a/tests/test_response_constraint.py +++ b/tests/test_response_constraint.py @@ -22,3 +22,23 @@ def test_response_constraint_is_generated_for_element_between_two_gateway_constr "Alternate Response[activity two, activity three]", ] assert all(constraint in res for constraint in expected_response_constraints) + +def test_response_constraint_is_generated_for_joining_gateway_xml(): + res = init_test_setup_for_compiler(XOR_GATEWAY_DIAGRAM, True) + expected_response_constraints = [ + "Response[forth activity upper, last activity]", + "Response[forth activity lower, last activity]", + "Alternate Response[forth activity upper, last activity]", + "Alternate Response[forth activity lower, last activity]", + ] + assert all(constraint in res for constraint in expected_response_constraints) + +def test_response_constraint_is_generated_for_element_between_two_gateway_constructs_xml(): + res = init_test_setup_for_compiler(XOR_GATEWAY_SEQUENCE_DIAGRAM, True) + expected_response_constraints = [ + "Response[activity one, activity three]", + "Response[activity two, activity three]", + "Alternate Response[activity one, activity three]", + "Alternate Response[activity two, activity three]", + ] + assert all(constraint in res for constraint in expected_response_constraints) diff --git a/tests/test_sequential_flow.py b/tests/test_sequential_flow.py index 01fa365..6be84bd 100644 --- a/tests/test_sequential_flow.py +++ b/tests/test_sequential_flow.py @@ -60,3 +60,43 @@ def test_no_co_existence_between_element_and_gateway_element(): assert "Co-Existence[zero Activity, first Activity]" not in res assert "Co-Existence[first Activity, zero Activity]" not in res + +def test_choice_constraints_generated_for_sequential_flow_xml(): + res = init_test_setup_for_compiler(LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END, True) + expected_choice_constraints = [ + "Choice[check invoice, register invoice]", + "Choice[accept invoice, check invoice]", + ] + assert all(constraint in res for constraint in expected_choice_constraints) + + +def test_succession_constraints_generated_for_sequential_flow_xml(): + res = init_test_setup_for_compiler(LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END, True) + expected_succession_constraints = [ + "Succession[register invoice, check invoice]", + "Succession[check invoice, accept invoice]", + ] + assert all(constraint in res for constraint in expected_succession_constraints) + + +def test_co_existence_constraints_generated_for_sequential_flow_xml(): + res = init_test_setup_for_compiler(LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END, True) + expected_co_existence_constraints = [ + "Co-Existence[check invoice, register invoice]", + "Co-Existence[accept invoice, check invoice]", + ] + assert all(constraint in res for constraint in expected_co_existence_constraints) + + +def test_no_succession_between_element_and_gateway_element_xml(): + res = init_test_setup_for_compiler(SINGLE_XOR_GATEWAY_DIAGRAM, True) + + assert "Succession[zero Activity, first Activity]" not in res + assert "Succession[zero Activity, second Activity]" not in res + + +def test_no_co_existence_between_element_and_gateway_element_xml(): + res = init_test_setup_for_compiler(SINGLE_XOR_GATEWAY_DIAGRAM) + + assert "Co-Existence[zero Activity, first Activity]" not in res + assert "Co-Existence[first Activity, zero Activity]" not in res diff --git a/tests/test_transitivity.py b/tests/test_transitivity.py index 2b88483..3becda1 100644 --- a/tests/test_transitivity.py +++ b/tests/test_transitivity.py @@ -22,3 +22,22 @@ def test_transative_closure_between_elements_before_and_after_gateway_construct( if elem.get("is start"): transitive_elems = [x.get("id") for x in elem.get("transitivity")] assert PARALLEL_GATEWAY_DIAGRAM.get("ending element id") in transitive_elems + + +def test_successor_is_also_in_transative_closure_xml(): + res = init_test_setup_for_parser(LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END, True) + for elem in res: + if elem.get("is start"): + transitive_elems = [x.get("id") for x in elem.get("transitivity")] + assert ( + LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END.get("successor id") + in transitive_elems + ) + + +def test_transative_closure_between_elements_before_and_after_gateway_construct_xml(): + res = init_test_setup_for_parser(PARALLEL_GATEWAY_DIAGRAM, True) + for elem in res: + if elem.get("is start"): + transitive_elems = [x.get("id") for x in elem.get("transitivity")] + assert PARALLEL_GATEWAY_DIAGRAM.get("ending element id") in transitive_elems diff --git a/tests/test_xml_file.py b/tests/test_xml_file.py index 4a42612..35c6f5d 100644 --- a/tests/test_xml_file.py +++ b/tests/test_xml_file.py @@ -19,7 +19,7 @@ def test_xml_file_is_identified(): def test_unsupported_file_extension_is_rejected(): with raises(Exception): - xml = init_test_setup_for_compiler(REQUIREMENTS_TXT) + xml = init_test_setup_for_compiler(REQUIREMENTS_TXT, False) def test_that_xml_and_json_parsing_generates_same_output(): From 3d3d6ca14533d0158ae8075d1ae69b308777480f Mon Sep 17 00:00:00 2001 From: MarcusRostSAP Date: Mon, 23 Oct 2023 16:40:52 +0200 Subject: [PATCH 04/13] added some test utils, but xml seems broken --- tests/file_constants.py | 2 +- tests/test_utils.py | 4 ++-- tests/test_xml_file.py | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/file_constants.py b/tests/file_constants.py index 3f2eff0..31331ca 100644 --- a/tests/file_constants.py +++ b/tests/file_constants.py @@ -24,7 +24,7 @@ MULTIPLE_ENDINGS_DIAGRAM = { "path": "examples/misc/multiple_endings.json", - "xmlpath": "examples/misc/multiple_starts.xml", + "xmlpath": "examples/misc/multiple_endings.xml", "ending elements": [ "sid-F54D1372-E982-4B0F-9543-F3CC3C6F595F", "sid-42CD2A75-895E-4E2C-9340-6CE7C5570EFF", diff --git a/tests/test_utils.py b/tests/test_utils.py index da214ec..f458770 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -25,8 +25,8 @@ def init_test_setup_for_compiler(diagram_constant, test_xml = False): return constraints -def init_test_setup_for_mermaid(diagram_constant): - path = Path(diagram_constant.get("path")) +def init_test_setup_for_mermaid(diagram_constant, test_xml = False): + path = Path(diagram_constant["xmlpath" if test_xml else "path"]) setup = Setup(None) if setup.is_file(path): bpmn = Parser(path, True, False).run() diff --git a/tests/test_xml_file.py b/tests/test_xml_file.py index 35c6f5d..cec27f0 100644 --- a/tests/test_xml_file.py +++ b/tests/test_xml_file.py @@ -3,10 +3,10 @@ from file_constants import ( LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END, REQUIREMENTS_TXT, + XOR_GATEWAY_SEQUENCE_DIAGRAM, ) from test_utils import init_test_setup_for_compiler - def test_xml_file_is_identified(): try: xml = init_test_setup_for_compiler( From 43131cf904861ef82904b5fa9c656b1db186334f Mon Sep 17 00:00:00 2001 From: MarcusRostSAP Date: Tue, 31 Oct 2023 13:06:28 +0100 Subject: [PATCH 05/13] some parser configs --- bpmnconstraints/parser/bpmn_parser.py | 5 +++-- bpmnconstraints/parser/xml_model.py | 5 ++++- bpmnconstraints/utils/constants.py | 5 +++++ mermaid.mmd | 14 ++++++++++++ tests/test_xml_file.py | 32 ++++++++++++++++++++++++++- 5 files changed, 57 insertions(+), 4 deletions(-) create mode 100644 mermaid.mmd diff --git a/bpmnconstraints/parser/bpmn_parser.py b/bpmnconstraints/parser/bpmn_parser.py index a61c6ee..9cf21b8 100644 --- a/bpmnconstraints/parser/bpmn_parser.py +++ b/bpmnconstraints/parser/bpmn_parser.py @@ -72,12 +72,13 @@ def validate_splitting_and_joining_gateway_cases(self): """ item_indices = {item["name"]: index for index, item in enumerate(self.sequence)} + print("hej") for cfo in self.sequence: - if cfo["is start"] and cfo["name"] == "XOR": + if cfo["is start"] and (cfo["type"] in DISCARDED_START_GATEWAYS): cfo["is start"] = False for successor in cfo["successor"]: self.sequence[item_indices[successor["name"]]]["is start"] = True - if cfo["is end"] and cfo["name"] in GATEWAY_NAMES: + if cfo["is end"] and (cfo["name"] in GATEWAY_NAMES or cfo["type"] == "exclusivegateway"): cfo["is end"] = False for predecessor in cfo["predecessor"]: self.sequence[item_indices[predecessor["name"]]]["is end"] = True diff --git a/bpmnconstraints/parser/xml_model.py b/bpmnconstraints/parser/xml_model.py index 48a157f..a6243e8 100644 --- a/bpmnconstraints/parser/xml_model.py +++ b/bpmnconstraints/parser/xml_model.py @@ -22,7 +22,10 @@ def __xml_to_dict(self, input_dict): if key.startswith("@"): new_dict[key[1:]] = value elif key.endswith(":outgoing"): - new_dict["outgoing"].append(value) + if isinstance(value, list): + new_dict["outgoing"].extend(value) + else: + new_dict["outgoing"].append(value) else: new_dict[key] = value return new_dict diff --git a/bpmnconstraints/utils/constants.py b/bpmnconstraints/utils/constants.py index 6ad8448..37da19c 100644 --- a/bpmnconstraints/utils/constants.py +++ b/bpmnconstraints/utils/constants.py @@ -9,6 +9,11 @@ "exclusivegateway", ] +DISCARDED_START_GATEWAYS = [ + "exclusive_databased_gateway", + "exclusivegateway" +] + ALLOWED_ACTIVITIES = [ "task", "event", diff --git a/mermaid.mmd b/mermaid.mmd new file mode 100644 index 0000000..73bb49d --- /dev/null +++ b/mermaid.mmd @@ -0,0 +1,14 @@ +flowchart LR +0:exclusive_databased_gateway:{XOR}-->1:task:(activity two) +0:exclusive_databased_gateway:{XOR}-->2:task:(activity one) +3:exclusive_databased_gateway:{XOR}-->4:task:(activity three) +5:exclusive_databased_gateway:{XOR}-->6:task:(activity four) +5:exclusive_databased_gateway:{XOR}-->7:task:(activity five) +8:exclusive_databased_gateway:{XOR}-->9:endnoneevent:((endnoneevent)) +0:exclusive_databased_gateway:-->2:task: +2:task:-->3:exclusive_databased_gateway: +0:exclusive_databased_gateway:-->1:task: +1:task:-->3:exclusive_databased_gateway: +4:task:-->5:exclusive_databased_gateway: +6:task:-->8:exclusive_databased_gateway: +7:task:-->8:exclusive_databased_gateway: diff --git a/tests/test_xml_file.py b/tests/test_xml_file.py index cec27f0..7f82b98 100644 --- a/tests/test_xml_file.py +++ b/tests/test_xml_file.py @@ -1,11 +1,12 @@ from json import JSONDecodeError from pytest import raises +from collections import Counter from file_constants import ( LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END, REQUIREMENTS_TXT, XOR_GATEWAY_SEQUENCE_DIAGRAM, ) -from test_utils import init_test_setup_for_compiler +from test_utils import init_test_setup_for_compiler, init_test_setup_for_parser def test_xml_file_is_identified(): try: @@ -21,9 +22,38 @@ def test_unsupported_file_extension_is_rejected(): with raises(Exception): xml = init_test_setup_for_compiler(REQUIREMENTS_TXT, False) +def are_dicts_equal(dict1, dict2, attribute_to_compare): + if len(dict1) != len(dict2): + return False + + for item1, item2 in zip(dict1, dict2): + if item1[attribute_to_compare] != item2[attribute_to_compare]: + return False + + return True + + def test_that_xml_and_json_parsing_generates_same_output(): + json_data = init_test_setup_for_parser(LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END) + xml_data = init_test_setup_for_parser(LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END, test_xml=True) + + assert are_dicts_equal(json_data, xml_data, 'name') + +def test_that_xml_and_json_compiling_generates_same_output(): json = init_test_setup_for_compiler(LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END) xml = init_test_setup_for_compiler(LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END, test_xml=True) assert sorted(json) == sorted(xml) + +def test_for_test(): + json = init_test_setup_for_parser(XOR_GATEWAY_SEQUENCE_DIAGRAM) + xml = init_test_setup_for_parser(XOR_GATEWAY_SEQUENCE_DIAGRAM, True) + print("hej") + assert json == xml + +def test_for_test2(): + json = init_test_setup_for_compiler(XOR_GATEWAY_SEQUENCE_DIAGRAM) + xml = init_test_setup_for_compiler(XOR_GATEWAY_SEQUENCE_DIAGRAM, True) + + assert json == xml \ No newline at end of file From 189f87bd18f6ac04c5bcbf97c14f21f9225731ad Mon Sep 17 00:00:00 2001 From: Chad McOverlord Date: Wed, 1 Nov 2023 09:21:02 +0100 Subject: [PATCH 06/13] Reformat tests --- tests/test_gateway_constraints.py | 2 -- tests/test_mermaid.py | 8 -------- tests/test_xml_file.py | 13 ------------- 3 files changed, 23 deletions(-) diff --git a/tests/test_gateway_constraints.py b/tests/test_gateway_constraints.py index efa5f1d..077330a 100644 --- a/tests/test_gateway_constraints.py +++ b/tests/test_gateway_constraints.py @@ -1,7 +1,6 @@ from test_utils import init_test_setup_for_compiler from file_constants import THREE_SPLIT_XOR_GATEWAY_DIAGRAM - def test_that_all_gateway_constraints_are_generated(): res = init_test_setup_for_compiler(THREE_SPLIT_XOR_GATEWAY_DIAGRAM) expected_gateway_constraints = [ @@ -19,5 +18,4 @@ def test_that_all_gateway_constraints_are_generated_XML(): "Exclusive Choice[activity three, activity two]", "Exclusive Choice[activity three, activity four]", ] - # assert res == expected_gateway_constraints assert all(constraint in res for constraint in expected_gateway_constraints) diff --git a/tests/test_mermaid.py b/tests/test_mermaid.py index 614a140..ce17658 100644 --- a/tests/test_mermaid.py +++ b/tests/test_mermaid.py @@ -10,11 +10,3 @@ def test_linear_mermaid_graph(): def test_gateway_mermaid_graph(): res = init_test_setup_for_mermaid(GATEWAY_MERMAID_GRAPH) assert GATEWAY_MERMAID_GRAPH.get("output") == res - -def test_linear_mermaid_graph_xml(): - res = init_test_setup_for_mermaid(LINEAR_MERMAID_GRAPH, True) - assert LINEAR_MERMAID_GRAPH.get("output") == res - -def test_gateway_mermaid_graph_xml(): - res = init_test_setup_for_mermaid(GATEWAY_MERMAID_GRAPH, True) - assert GATEWAY_MERMAID_GRAPH.get("output") == res diff --git a/tests/test_xml_file.py b/tests/test_xml_file.py index 7f82b98..60f8401 100644 --- a/tests/test_xml_file.py +++ b/tests/test_xml_file.py @@ -4,7 +4,6 @@ from file_constants import ( LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END, REQUIREMENTS_TXT, - XOR_GATEWAY_SEQUENCE_DIAGRAM, ) from test_utils import init_test_setup_for_compiler, init_test_setup_for_parser @@ -45,15 +44,3 @@ def test_that_xml_and_json_compiling_generates_same_output(): xml = init_test_setup_for_compiler(LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END, test_xml=True) assert sorted(json) == sorted(xml) - -def test_for_test(): - json = init_test_setup_for_parser(XOR_GATEWAY_SEQUENCE_DIAGRAM) - xml = init_test_setup_for_parser(XOR_GATEWAY_SEQUENCE_DIAGRAM, True) - print("hej") - assert json == xml - -def test_for_test2(): - json = init_test_setup_for_compiler(XOR_GATEWAY_SEQUENCE_DIAGRAM) - xml = init_test_setup_for_compiler(XOR_GATEWAY_SEQUENCE_DIAGRAM, True) - - assert json == xml \ No newline at end of file From 84090f127034000e6746b52f7dd1116e724a62eb Mon Sep 17 00:00:00 2001 From: Chad McOverlord Date: Wed, 1 Nov 2023 09:21:23 +0100 Subject: [PATCH 07/13] Removed unecessary print statement --- bpmnconstraints/parser/bpmn_parser.py | 1 - 1 file changed, 1 deletion(-) diff --git a/bpmnconstraints/parser/bpmn_parser.py b/bpmnconstraints/parser/bpmn_parser.py index 9cf21b8..9410578 100644 --- a/bpmnconstraints/parser/bpmn_parser.py +++ b/bpmnconstraints/parser/bpmn_parser.py @@ -72,7 +72,6 @@ def validate_splitting_and_joining_gateway_cases(self): """ item_indices = {item["name"]: index for index, item in enumerate(self.sequence)} - print("hej") for cfo in self.sequence: if cfo["is start"] and (cfo["type"] in DISCARDED_START_GATEWAYS): cfo["is start"] = False From 75a869c21efa9028bde2472f48db0a1acbb77448 Mon Sep 17 00:00:00 2001 From: Chad McOverlord Date: Wed, 1 Nov 2023 09:21:54 +0100 Subject: [PATCH 08/13] Included more variants of XOR gateways --- bpmnconstraints/compiler/bpmn_compiler.py | 2 +- bpmnconstraints/utils/constants.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bpmnconstraints/compiler/bpmn_compiler.py b/bpmnconstraints/compiler/bpmn_compiler.py index 43b802d..276ad86 100644 --- a/bpmnconstraints/compiler/bpmn_compiler.py +++ b/bpmnconstraints/compiler/bpmn_compiler.py @@ -43,7 +43,7 @@ def __compile(self): self.__create_response_constraint() def _create_gateway_constraints(self): - if self.__get_cfo_type() == XOR_GATEWAY: + if self.__get_cfo_type() in XOR_GATEWAY: self.__create_exclusive_choice_constraint() if self.__get_cfo_type() == AND_GATEWAY: diff --git a/bpmnconstraints/utils/constants.py b/bpmnconstraints/utils/constants.py index 37da19c..dbb4e22 100644 --- a/bpmnconstraints/utils/constants.py +++ b/bpmnconstraints/utils/constants.py @@ -153,7 +153,7 @@ "OR", ] -XOR_GATEWAY = "exclusive_databased_gateway" +XOR_GATEWAY = ["exclusive_databased_gateway", "exclusivegateway"] AND_GATEWAY = "parallelgateway" OR_GATEWAY = "inclusivegateway" From f72c9faf0136327275518962fafe098957efd464 Mon Sep 17 00:00:00 2001 From: MarcusRostSAP Date: Wed, 1 Nov 2023 09:40:12 +0100 Subject: [PATCH 09/13] Removed file --- mermaid.mmd | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 mermaid.mmd diff --git a/mermaid.mmd b/mermaid.mmd deleted file mode 100644 index 73bb49d..0000000 --- a/mermaid.mmd +++ /dev/null @@ -1,14 +0,0 @@ -flowchart LR -0:exclusive_databased_gateway:{XOR}-->1:task:(activity two) -0:exclusive_databased_gateway:{XOR}-->2:task:(activity one) -3:exclusive_databased_gateway:{XOR}-->4:task:(activity three) -5:exclusive_databased_gateway:{XOR}-->6:task:(activity four) -5:exclusive_databased_gateway:{XOR}-->7:task:(activity five) -8:exclusive_databased_gateway:{XOR}-->9:endnoneevent:((endnoneevent)) -0:exclusive_databased_gateway:-->2:task: -2:task:-->3:exclusive_databased_gateway: -0:exclusive_databased_gateway:-->1:task: -1:task:-->3:exclusive_databased_gateway: -4:task:-->5:exclusive_databased_gateway: -6:task:-->8:exclusive_databased_gateway: -7:task:-->8:exclusive_databased_gateway: From d2366ba337b64397cee8cc285cfdc89c93937f84 Mon Sep 17 00:00:00 2001 From: MarcusRostSAP Date: Wed, 1 Nov 2023 09:45:41 +0100 Subject: [PATCH 10/13] reformatting --- tests/test_end_constraints.py | 6 ++++++ tests/test_gateway_constraints.py | 1 + tests/test_gateway_splitting_joining.py | 1 + tests/test_init_constraints.py | 1 + tests/test_is_start.py | 1 + tests/test_part_of_gateway.py | 2 ++ tests/test_precedence_constraints.py | 1 + tests/test_response_constraint.py | 2 ++ tests/test_xml_file.py | 2 +- 9 files changed, 16 insertions(+), 1 deletion(-) diff --git a/tests/test_end_constraints.py b/tests/test_end_constraints.py index 4018e98..ec25258 100644 --- a/tests/test_end_constraints.py +++ b/tests/test_end_constraints.py @@ -26,6 +26,7 @@ def test_end_constraint_is_generated_without_explicit_end_event(): res = init_test_setup_for_compiler(LINEAR_SEQUENCE_DIAGRAM_WITHOUT_START_AND_END) assert "End[second element]" in res + def test_end_constraint_is_generated_when_xor_gateway(): res = init_test_setup_for_compiler(XOR_GATEWAY_SEQUENCE_DIAGRAM) expected_ending_constraints = [ @@ -34,6 +35,7 @@ def test_end_constraint_is_generated_when_xor_gateway(): ] assert all(constraint in res for constraint in expected_ending_constraints) + def test_end_constraint_is_generated_when_multiple_endings_XML(): res = init_test_setup_for_compiler(MULTIPLE_ENDINGS_DIAGRAM, test_xml=True) expected_ending_constraints = [ @@ -43,13 +45,17 @@ def test_end_constraint_is_generated_when_multiple_endings_XML(): ] assert all(constraint in res for constraint in expected_ending_constraints) + def test_end_constraint_is_generated_with_linear_parser_XML(): res = init_test_setup_for_parser(LINEAR_MERMAID_GRAPH, test_xml=True) assert res[-1]["is end"] == True + def test_end_constraint_is_generated_without_explicit_end_event_XML(): res = init_test_setup_for_compiler(LINEAR_SEQUENCE_DIAGRAM_WITHOUT_START_AND_END, test_xml=True) assert "End[second element]" in res + + def test_end_constraint_is_generated_when_xor_gateway_XML(): res = init_test_setup_for_compiler(XOR_GATEWAY_SEQUENCE_DIAGRAM, test_xml=True) expected_ending_constraints = [ diff --git a/tests/test_gateway_constraints.py b/tests/test_gateway_constraints.py index 077330a..4aee089 100644 --- a/tests/test_gateway_constraints.py +++ b/tests/test_gateway_constraints.py @@ -11,6 +11,7 @@ def test_that_all_gateway_constraints_are_generated(): # assert res == expected_gateway_constraints assert all(constraint in res for constraint in expected_gateway_constraints) + def test_that_all_gateway_constraints_are_generated_XML(): res = init_test_setup_for_compiler(THREE_SPLIT_XOR_GATEWAY_DIAGRAM, True) expected_gateway_constraints = [ diff --git a/tests/test_gateway_splitting_joining.py b/tests/test_gateway_splitting_joining.py index 1eceee3..b0aa46c 100644 --- a/tests/test_gateway_splitting_joining.py +++ b/tests/test_gateway_splitting_joining.py @@ -25,6 +25,7 @@ def test_gateway_splitting_to_three_paths(): THREE_SPLIT_XOR_GATEWAY_DIAGRAM.get("successors") ) + def test_element_is_marked_as_splitting_gateway_if_it_is_splitting_xml(): res = init_test_setup_for_parser(SINGLE_XOR_GATEWAY_DIAGRAM, True) for elem in res: diff --git a/tests/test_init_constraints.py b/tests/test_init_constraints.py index 30d3208..5177e94 100644 --- a/tests/test_init_constraints.py +++ b/tests/test_init_constraints.py @@ -30,6 +30,7 @@ def test_missing_init_constraints_for_XOR_gate(): ] assert all(constraint in res for constraint in expected_init_constraints) + def test_init_constraint_is_generated_without_explicit_start_event_xml(): res = init_test_setup_for_compiler(LINEAR_SEQUENCE_DIAGRAM_WITHOUT_START_AND_END, True) assert "Init[first element]" in res diff --git a/tests/test_is_start.py b/tests/test_is_start.py index f5e00fd..3a606a2 100644 --- a/tests/test_is_start.py +++ b/tests/test_is_start.py @@ -35,6 +35,7 @@ def test_all_start_elements_are_marked_as_starts_if_multiple_starts(): start_count += 1 assert start_count == len(MULTIPLE_STARTS_DIAGRAM.get("start elements")) + def test_element_is_marked_as_start_if_it_has_no_predecessors_xml(): res = init_test_setup_for_parser(LINEAR_SEQUENCE_DIAGRAM_WITHOUT_START_AND_END, True) for elem in res: diff --git a/tests/test_part_of_gateway.py b/tests/test_part_of_gateway.py index 9075974..c49a5d5 100644 --- a/tests/test_part_of_gateway.py +++ b/tests/test_part_of_gateway.py @@ -21,6 +21,7 @@ def test_element_outside_gateway_construct_is_not_marked_as_part_of_gateway(): PARALLEL_GATEWAY_DIAGRAM.get("not gateway elements") ) + def test_element_in_gateway_construct_is_marked_as_part_of_gateway_xml(): res = init_test_setup_for_parser(PARALLEL_GATEWAY_DIAGRAM, True) num_elems_in_gateway = 0 @@ -29,6 +30,7 @@ def test_element_in_gateway_construct_is_marked_as_part_of_gateway_xml(): num_elems_in_gateway += 1 assert num_elems_in_gateway == len(PARALLEL_GATEWAY_DIAGRAM.get("gateway elements")) + def test_element_outside_gateway_construct_is_not_marked_as_part_of_gateway_xml(): res = init_test_setup_for_parser(PARALLEL_GATEWAY_DIAGRAM, True) num_elems_not_in_gateway = 0 diff --git a/tests/test_precedence_constraints.py b/tests/test_precedence_constraints.py index 8ce8cce..cb58b54 100644 --- a/tests/test_precedence_constraints.py +++ b/tests/test_precedence_constraints.py @@ -23,6 +23,7 @@ def test_precedence_constraint_is_generated_for_element_between_two_gateway_cons ] assert all(constraint in res for constraint in expected_precedence_constraints) + def test_precedence_constraint_is_generated_for_splitting_gateway_xml(): res = init_test_setup_for_compiler(XOR_GATEWAY_DIAGRAM, True) expected_precedence_constraints = [ diff --git a/tests/test_response_constraint.py b/tests/test_response_constraint.py index b8a5987..f103784 100644 --- a/tests/test_response_constraint.py +++ b/tests/test_response_constraint.py @@ -23,6 +23,7 @@ def test_response_constraint_is_generated_for_element_between_two_gateway_constr ] assert all(constraint in res for constraint in expected_response_constraints) + def test_response_constraint_is_generated_for_joining_gateway_xml(): res = init_test_setup_for_compiler(XOR_GATEWAY_DIAGRAM, True) expected_response_constraints = [ @@ -33,6 +34,7 @@ def test_response_constraint_is_generated_for_joining_gateway_xml(): ] assert all(constraint in res for constraint in expected_response_constraints) + def test_response_constraint_is_generated_for_element_between_two_gateway_constructs_xml(): res = init_test_setup_for_compiler(XOR_GATEWAY_SEQUENCE_DIAGRAM, True) expected_response_constraints = [ diff --git a/tests/test_xml_file.py b/tests/test_xml_file.py index 60f8401..7ae2983 100644 --- a/tests/test_xml_file.py +++ b/tests/test_xml_file.py @@ -1,6 +1,5 @@ from json import JSONDecodeError from pytest import raises -from collections import Counter from file_constants import ( LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END, REQUIREMENTS_TXT, @@ -39,6 +38,7 @@ def test_that_xml_and_json_parsing_generates_same_output(): assert are_dicts_equal(json_data, xml_data, 'name') + def test_that_xml_and_json_compiling_generates_same_output(): json = init_test_setup_for_compiler(LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END) xml = init_test_setup_for_compiler(LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END, test_xml=True) From fd1c883fcceca5dd44ce8e72c3990ced2bb3a4b2 Mon Sep 17 00:00:00 2001 From: MarcusRostSAP Date: Wed, 1 Nov 2023 09:58:53 +0100 Subject: [PATCH 11/13] Reformatting according to linter --- bpmnconstraints/parser/bpmn_parser.py | 4 +++- bpmnconstraints/utils/constants.py | 5 +---- tests/test_end_constraints.py | 7 +++++-- tests/test_gateway_constraints.py | 1 + tests/test_init_constraints.py | 4 +++- tests/test_is_end.py | 4 +++- tests/test_is_start.py | 4 +++- tests/test_utils.py | 6 +++--- tests/test_xml_file.py | 12 ++++++++---- 9 files changed, 30 insertions(+), 17 deletions(-) diff --git a/bpmnconstraints/parser/bpmn_parser.py b/bpmnconstraints/parser/bpmn_parser.py index 9410578..b6b6982 100644 --- a/bpmnconstraints/parser/bpmn_parser.py +++ b/bpmnconstraints/parser/bpmn_parser.py @@ -77,7 +77,9 @@ def validate_splitting_and_joining_gateway_cases(self): cfo["is start"] = False for successor in cfo["successor"]: self.sequence[item_indices[successor["name"]]]["is start"] = True - if cfo["is end"] and (cfo["name"] in GATEWAY_NAMES or cfo["type"] == "exclusivegateway"): + if cfo["is end"] and ( + cfo["name"] in GATEWAY_NAMES or cfo["type"] == "exclusivegateway" + ): cfo["is end"] = False for predecessor in cfo["predecessor"]: self.sequence[item_indices[predecessor["name"]]]["is end"] = True diff --git a/bpmnconstraints/utils/constants.py b/bpmnconstraints/utils/constants.py index dbb4e22..826da42 100644 --- a/bpmnconstraints/utils/constants.py +++ b/bpmnconstraints/utils/constants.py @@ -9,10 +9,7 @@ "exclusivegateway", ] -DISCARDED_START_GATEWAYS = [ - "exclusive_databased_gateway", - "exclusivegateway" -] +DISCARDED_START_GATEWAYS = ["exclusive_databased_gateway", "exclusivegateway"] ALLOWED_ACTIVITIES = [ "task", diff --git a/tests/test_end_constraints.py b/tests/test_end_constraints.py index ec25258..11d7855 100644 --- a/tests/test_end_constraints.py +++ b/tests/test_end_constraints.py @@ -3,7 +3,7 @@ MULTIPLE_ENDINGS_DIAGRAM, LINEAR_SEQUENCE_DIAGRAM_WITHOUT_START_AND_END, XOR_GATEWAY_SEQUENCE_DIAGRAM, - LINEAR_MERMAID_GRAPH + LINEAR_MERMAID_GRAPH, ) @@ -37,6 +37,7 @@ def test_end_constraint_is_generated_when_xor_gateway(): def test_end_constraint_is_generated_when_multiple_endings_XML(): + res = init_test_setup_for_compiler(MULTIPLE_ENDINGS_DIAGRAM, test_xml=True) expected_ending_constraints = [ "End[ending one]", @@ -52,7 +53,9 @@ def test_end_constraint_is_generated_with_linear_parser_XML(): def test_end_constraint_is_generated_without_explicit_end_event_XML(): - res = init_test_setup_for_compiler(LINEAR_SEQUENCE_DIAGRAM_WITHOUT_START_AND_END, test_xml=True) + res = init_test_setup_for_compiler( + LINEAR_SEQUENCE_DIAGRAM_WITHOUT_START_AND_END, test_xml=True + ) assert "End[second element]" in res diff --git a/tests/test_gateway_constraints.py b/tests/test_gateway_constraints.py index 4aee089..7d100d1 100644 --- a/tests/test_gateway_constraints.py +++ b/tests/test_gateway_constraints.py @@ -1,6 +1,7 @@ from test_utils import init_test_setup_for_compiler from file_constants import THREE_SPLIT_XOR_GATEWAY_DIAGRAM + def test_that_all_gateway_constraints_are_generated(): res = init_test_setup_for_compiler(THREE_SPLIT_XOR_GATEWAY_DIAGRAM) expected_gateway_constraints = [ diff --git a/tests/test_init_constraints.py b/tests/test_init_constraints.py index 5177e94..131603d 100644 --- a/tests/test_init_constraints.py +++ b/tests/test_init_constraints.py @@ -32,7 +32,9 @@ def test_missing_init_constraints_for_XOR_gate(): def test_init_constraint_is_generated_without_explicit_start_event_xml(): - res = init_test_setup_for_compiler(LINEAR_SEQUENCE_DIAGRAM_WITHOUT_START_AND_END, True) + res = init_test_setup_for_compiler( + LINEAR_SEQUENCE_DIAGRAM_WITHOUT_START_AND_END, True + ) assert "Init[first element]" in res diff --git a/tests/test_is_end.py b/tests/test_is_end.py index 9082814..0eb58a2 100644 --- a/tests/test_is_end.py +++ b/tests/test_is_end.py @@ -37,7 +37,9 @@ def test_all_start_elements_are_marked_as_ending_if_multiple_endings(): def test_element_is_marked_as_end_if_it_has_no_successors_xml(): - res = init_test_setup_for_parser(LINEAR_SEQUENCE_DIAGRAM_WITHOUT_START_AND_END, True) + res = init_test_setup_for_parser( + LINEAR_SEQUENCE_DIAGRAM_WITHOUT_START_AND_END, True + ) for elem in res: if elem.get("is end"): assert elem.get("id") == LINEAR_SEQUENCE_DIAGRAM_WITHOUT_START_AND_END.get( diff --git a/tests/test_is_start.py b/tests/test_is_start.py index 3a606a2..22c5e75 100644 --- a/tests/test_is_start.py +++ b/tests/test_is_start.py @@ -37,7 +37,9 @@ def test_all_start_elements_are_marked_as_starts_if_multiple_starts(): def test_element_is_marked_as_start_if_it_has_no_predecessors_xml(): - res = init_test_setup_for_parser(LINEAR_SEQUENCE_DIAGRAM_WITHOUT_START_AND_END, True) + res = init_test_setup_for_parser( + LINEAR_SEQUENCE_DIAGRAM_WITHOUT_START_AND_END, True + ) for elem in res: if elem.get("is start"): assert elem.get("id") == LINEAR_SEQUENCE_DIAGRAM_WITHOUT_START_AND_END.get( diff --git a/tests/test_utils.py b/tests/test_utils.py index f458770..7758048 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -5,7 +5,7 @@ from bpmnconstraints.mermaid.mermaidtranslation import Mermaid -def init_test_setup_for_parser(diagram_constant, test_xml = False): +def init_test_setup_for_parser(diagram_constant, test_xml=False): path = Path(diagram_constant["xmlpath" if test_xml else "path"]) setup = Setup(None) if setup.is_file(path): @@ -13,7 +13,7 @@ def init_test_setup_for_parser(diagram_constant, test_xml = False): return res -def init_test_setup_for_compiler(diagram_constant, test_xml = False): +def init_test_setup_for_compiler(diagram_constant, test_xml=False): path = Path(diagram_constant["xmlpath" if test_xml else "path"]) constraints = [] setup = Setup(None) @@ -25,7 +25,7 @@ def init_test_setup_for_compiler(diagram_constant, test_xml = False): return constraints -def init_test_setup_for_mermaid(diagram_constant, test_xml = False): +def init_test_setup_for_mermaid(diagram_constant, test_xml=False): path = Path(diagram_constant["xmlpath" if test_xml else "path"]) setup = Setup(None) if setup.is_file(path): diff --git a/tests/test_xml_file.py b/tests/test_xml_file.py index 7ae2983..fb94cf5 100644 --- a/tests/test_xml_file.py +++ b/tests/test_xml_file.py @@ -9,8 +9,7 @@ def test_xml_file_is_identified(): try: xml = init_test_setup_for_compiler( - LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END, - test_xml=True + LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END, test_xml=True ) except JSONDecodeError: assert False @@ -20,6 +19,7 @@ def test_unsupported_file_extension_is_rejected(): with raises(Exception): xml = init_test_setup_for_compiler(REQUIREMENTS_TXT, False) + def are_dicts_equal(dict1, dict2, attribute_to_compare): if len(dict1) != len(dict2): return False @@ -34,13 +34,17 @@ def are_dicts_equal(dict1, dict2, attribute_to_compare): def test_that_xml_and_json_parsing_generates_same_output(): json_data = init_test_setup_for_parser(LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END) - xml_data = init_test_setup_for_parser(LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END, test_xml=True) + xml_data = init_test_setup_for_parser( + LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END, test_xml=True + ) assert are_dicts_equal(json_data, xml_data, 'name') def test_that_xml_and_json_compiling_generates_same_output(): json = init_test_setup_for_compiler(LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END) - xml = init_test_setup_for_compiler(LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END, test_xml=True) + xml = init_test_setup_for_compiler( + LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END, test_xml=True + ) assert sorted(json) == sorted(xml) From 89f17dbe5a6137d3c7ca78315a22635007e41a80 Mon Sep 17 00:00:00 2001 From: MarcusRostSAP Date: Wed, 1 Nov 2023 10:05:40 +0100 Subject: [PATCH 12/13] Linting --- tests/test_end_constraints.py | 3 +-- tests/test_sequential_flow.py | 1 + tests/test_xml_file.py | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/tests/test_end_constraints.py b/tests/test_end_constraints.py index 11d7855..6529d5d 100644 --- a/tests/test_end_constraints.py +++ b/tests/test_end_constraints.py @@ -37,8 +37,7 @@ def test_end_constraint_is_generated_when_xor_gateway(): def test_end_constraint_is_generated_when_multiple_endings_XML(): - - res = init_test_setup_for_compiler(MULTIPLE_ENDINGS_DIAGRAM, test_xml=True) + res = init_test_setup_for_compiler(MULTIPLE_ENDINGS_DIAGRAM, test_xml=True) expected_ending_constraints = [ "End[ending one]", "End[ending two]", diff --git a/tests/test_sequential_flow.py b/tests/test_sequential_flow.py index 6be84bd..3463b1a 100644 --- a/tests/test_sequential_flow.py +++ b/tests/test_sequential_flow.py @@ -61,6 +61,7 @@ def test_no_co_existence_between_element_and_gateway_element(): assert "Co-Existence[zero Activity, first Activity]" not in res assert "Co-Existence[first Activity, zero Activity]" not in res + def test_choice_constraints_generated_for_sequential_flow_xml(): res = init_test_setup_for_compiler(LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END, True) expected_choice_constraints = [ diff --git a/tests/test_xml_file.py b/tests/test_xml_file.py index fb94cf5..a33b084 100644 --- a/tests/test_xml_file.py +++ b/tests/test_xml_file.py @@ -6,6 +6,7 @@ ) from test_utils import init_test_setup_for_compiler, init_test_setup_for_parser + def test_xml_file_is_identified(): try: xml = init_test_setup_for_compiler( @@ -38,7 +39,7 @@ def test_that_xml_and_json_parsing_generates_same_output(): LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END, test_xml=True ) - assert are_dicts_equal(json_data, xml_data, 'name') + assert are_dicts_equal(json_data, xml_data, "name") def test_that_xml_and_json_compiling_generates_same_output(): From 4b33eb6ea3ac098b69497406506a44bab4d1d4fd Mon Sep 17 00:00:00 2001 From: MarcusRostSAP Date: Wed, 1 Nov 2023 10:40:30 +0100 Subject: [PATCH 13/13] Linting --- tests/test_end_constraints.py | 4 ++-- tests/test_xml_file.py | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/tests/test_end_constraints.py b/tests/test_end_constraints.py index 6529d5d..ef7ad85 100644 --- a/tests/test_end_constraints.py +++ b/tests/test_end_constraints.py @@ -56,8 +56,8 @@ def test_end_constraint_is_generated_without_explicit_end_event_XML(): LINEAR_SEQUENCE_DIAGRAM_WITHOUT_START_AND_END, test_xml=True ) assert "End[second element]" in res - - + + def test_end_constraint_is_generated_when_xor_gateway_XML(): res = init_test_setup_for_compiler(XOR_GATEWAY_SEQUENCE_DIAGRAM, test_xml=True) expected_ending_constraints = [ diff --git a/tests/test_xml_file.py b/tests/test_xml_file.py index a33b084..73e1160 100644 --- a/tests/test_xml_file.py +++ b/tests/test_xml_file.py @@ -32,13 +32,12 @@ def are_dicts_equal(dict1, dict2, attribute_to_compare): return True - def test_that_xml_and_json_parsing_generates_same_output(): json_data = init_test_setup_for_parser(LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END) xml_data = init_test_setup_for_parser( LINEAR_SEQUENCE_DIAGRAM_WITH_START_AND_END, test_xml=True ) - + assert are_dicts_equal(json_data, xml_data, "name")