diff --git a/test/spec/simulator/Simulator.inclusive-gateway-fork-join.bpmn b/test/spec/simulator/Simulator.inclusive-gateway-fork-join.bpmn new file mode 100644 index 0000000..cd9291c --- /dev/null +++ b/test/spec/simulator/Simulator.inclusive-gateway-fork-join.bpmn @@ -0,0 +1,97 @@ + + + + + Flow_1 + + + + Flow_1 + Flow_2 + Flow_3 + + + + Flow_2 + Flow_3 + Flow_4 + Flow_5 + + + + Flow_4 + Flow_5 + Flow_6 + + + + + Flow_6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/spec/simulator/Simulator.inclusive-gateway-fork-join.json b/test/spec/simulator/Simulator.inclusive-gateway-fork-join.json new file mode 100644 index 0000000..59f25d7 --- /dev/null +++ b/test/spec/simulator/Simulator.inclusive-gateway-fork-join.json @@ -0,0 +1,56 @@ +[ + "createScope:Process_1:null", + "signal:Process_1:B", + "createScope:START:B", + "signal:START:C", + "exit:START:C", + "createScope:Flow_1:B", + "destroyScope:START:C", + "enter:Flow_1:B", + "exit:Flow_1:D", + "createScope:INC_FORK:B", + "destroyScope:Flow_1:D", + "enter:INC_FORK:B", + "exit:INC_FORK:E", + "createScope:Flow_2:B", + "createScope:Flow_3:B", + "destroyScope:INC_FORK:E", + "enter:Flow_2:B", + "enter:Flow_3:B", + "exit:Flow_2:F", + "createScope:INC_FORK_JOIN:B", + "destroyScope:Flow_2:F", + "exit:Flow_3:G", + "createScope:INC_FORK_JOIN:B", + "destroyScope:Flow_3:G", + "enter:INC_FORK_JOIN:B", + "enter:INC_FORK_JOIN:B", + "destroyScope:INC_FORK_JOIN:H", + "exit:INC_FORK_JOIN:I", + "createScope:Flow_4:B", + "createScope:Flow_5:B", + "destroyScope:INC_FORK_JOIN:I", + "enter:Flow_4:B", + "enter:Flow_5:B", + "exit:Flow_4:J", + "createScope:INC_JOIN:B", + "destroyScope:Flow_4:J", + "exit:Flow_5:K", + "createScope:INC_JOIN:B", + "destroyScope:Flow_5:K", + "enter:INC_JOIN:B", + "enter:INC_JOIN:B", + "destroyScope:INC_JOIN:L", + "exit:INC_JOIN:M", + "createScope:Flow_6:B", + "destroyScope:INC_JOIN:M", + "enter:Flow_6:B", + "exit:Flow_6:N", + "createScope:END:B", + "destroyScope:Flow_6:N", + "enter:END:B", + "exit:END:O", + "destroyScope:END:O", + "exit:Process_1:B", + "destroyScope:Process_1:B" +] \ No newline at end of file diff --git a/test/spec/simulator/SimulatorSpec.js b/test/spec/simulator/SimulatorSpec.js index d385d0b..1015c57 100644 --- a/test/spec/simulator/SimulatorSpec.js +++ b/test/spec/simulator/SimulatorSpec.js @@ -717,6 +717,27 @@ describe('simulator', function() { }); + verify('inclusive-gateway-fork-join', (fixture) => { + + // given + setConfig(element('INC_FORK'), { + activeOutgoing: [ element('Flow_2'), element('Flow_3') ] + }); + + setConfig(element('INC_FORK_JOIN'), { + activeOutgoing: [ element('Flow_4'), element('Flow_5') ] + }); + + // when + trigger({ + element: element('START') + }); + + // then + expectTrace(fixture()); + }); + + verify('inclusive-gateway-no-outgoings', (fixture) => { // when