package Ġcom . val b 3 r . bpmn . intellij . plugin Ċ Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . any Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . argument Captor Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . verify Ċ import Ġcom . val b 3 r . bpmn . intellij . plugin . bpmn . api . events . Event Propag atable To Xml Ċ import Ġcom . val b 3 r . bpmn . intellij . plugin . core . events . B pmn Element Removed Event Ċ import Ġcom . val b 3 r . bpmn . intellij . plugin . core . events . Diagram Element Removed Event Ċ import Ġcom . val b 3 r . bpmn . intellij . plugin . core . new elements . register New Elements Factory Ċ import Ġcom . val b 3 r . bpmn . intellij . plugin . core . tests . Base Ui Test Ċ import Ġcom . val b 3 r . bpmn . intellij . plugin . flow able . parser . Flow able ObjectFactory Ċ import Ġorg . am sh ove . k lu ent . should Contain Same Ċ import Ġorg . junit . jupiter . api . BeforeEach Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġjava . awt . geom . Point 2 D Ċ Ċ internal Ġclass ĠElement Removal Test : ĠBase Ui Test () Ġ{ ĊĊĠĠĠ Ġ@ BeforeEach ĊĠĠĠ Ġfun Ġprepare () Ġ{ ĊĠĠĠĠĠĠĠ Ġregister New Elements Factory ( Flow able ObjectFactory ()) ĊĠĠĠĠĠĠĠ Ġprepare One Sub Process With Service Task And Attached Boundary Event One Nested Sub process And Service Task With Sequence () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Remove Ġboundary Ġevent Ġwithin Ġsubprocess `() Ġ{ ĊĠĠĠĠĠĠĠ Ġclick On Id ( optional Boundary Error Event Diagram Id ) ĊĠĠĠĠĠĠĠ Ġval Ġboundary Event Remove Ġ= Ġfind Exactly One Delete Elem () ĊĠĠĠĠĠĠĠ Ġclick On Id ( boundary Event Remove !! ) ĊĊĠĠĠĠĠĠĠ Ġargument Captor < List < Event Propag atable To Xml >> (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( file Commit ter ). execute Commit AndGet Hash ( any (), Ġcapture (), Ġany (), Ġany ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Value . should Contain Same ( listOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDiagram Element Removed Event ( optional Boundary Error Event Diagram Id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠB pmn Element Removed Event ( optional Boundary Error Event B pmn Id )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Remove Ġservice Ġtask Ġwith Ġboundary Ġevent Ġwithin Ġsubprocess `() Ġ{ ĊĠĠĠĠĠĠĠ Ġclick On Id ( service Task Start Diagram Id ) ĊĠĠĠĠĠĠĠ Ġval Ġservice Task Remove Ġ= Ġfind Exactly One Delete Elem () ĊĠĠĠĠĠĠĠ Ġclick On Id ( service Task Remove !! ) ĊĊĠĠĠĠĠĠĠ Ġargument Captor < List < Event Propag atable To Xml >> (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( file Commit ter ). execute Commit AndGet Hash ( any (), Ġcapture (), Ġany (), Ġany ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Value . should Contain Same ( listOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDiagram Element Removed Event ( optional Boundary Error Event Diagram Id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDiagram Element Removed Event ( service Task Start Diagram Id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠB pmn Element Removed Event ( optional Boundary Error Event B pmn Id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠB pmn Element Removed Event ( service Task Start B pmn Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Remove Ġsequence Ġelement Ġwithin Ġsubprocess `() Ġ{ ĊĠĠĠĠĠĠĠ Ġclick On Id ( sequence Flow Diagram Id ) ĊĠĠĠĠĠĠĠ Ġval Ġsequence Remove Ġ= Ġfind Exactly One Delete Elem () ĊĠĠĠĠĠĠĠ Ġclick On Id ( sequence Remove !! ) ĊĊĠĠĠĠĠĠĠ Ġargument Captor < List < Event Propag atable To Xml >> (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( file Commit ter ). execute Commit AndGet Hash ( any (), Ġcapture (), Ġany (), Ġany ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Value . should Contain Same ( listOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDiagram Element Removed Event ( sequence Flow Diagram Id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠB pmn Element Removed Event ( sequence Flow B pmn Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Remove Ġsubprocess Ġelement Ġwithin Ġsubprocess `() Ġ{ ĊĠĠĠĠĠĠĠ Ġclick On Id ( subprocess In Sub Process Diagram Id ) ĊĠĠĠĠĠĠĠ Ġval Ġnested Sub process Remove Ġ= Ġfind Exactly One Delete Elem () ĊĠĠĠĠĠĠĠ Ġclick On Id ( nested Sub process Remove !! ) ĊĊĠĠĠĠĠĠĠ Ġargument Captor < List < Event Propag atable To Xml >> (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( file Commit ter ). execute Commit AndGet Hash ( any (), Ġcapture (), Ġany (), Ġany ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Value . should Contain Same ( listOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDiagram Element Removed Event ( sequence Flow Diagram Id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠB pmn Element Removed Event ( sequence Flow B pmn Id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDiagram Element Removed Event ( service Task End Diagram Id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠB pmn Element Removed Event ( service Task End B pmn Id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDiagram Element Removed Event ( subprocess In Sub Process Diagram Id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠB pmn Element Removed Event ( subprocess In Sub Process B pmn Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Remove Ġroot Ġsubprocess Ġelement `() Ġ{ ĊĠĠĠĠĠĠĠ Ġclick On Id ( subprocess Diagram Id ) ĊĠĠĠĠĠĠĠ Ġval Ġsubprocess Remove Ġ= Ġfind Exactly One Delete Elem () ĊĠĠĠĠĠĠĠ Ġclick On Id ( subprocess Remove !! ) ĊĊĠĠĠĠĠĠĠ Ġargument Captor < List < Event Propag atable To Xml >> (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( file Commit ter ). execute Commit AndGet Hash ( any (), Ġcapture (), Ġany (), Ġany ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Value . should Contain Same ( listOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDiagram Element Removed Event ( sequence Flow Diagram Id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠB pmn Element Removed Event ( sequence Flow B pmn Id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDiagram Element Removed Event ( service Task End Diagram Id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠB pmn Element Removed Event ( service Task End B pmn Id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDiagram Element Removed Event ( subprocess In Sub Process Diagram Id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠB pmn Element Removed Event ( subprocess In Sub Process B pmn Id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDiagram Element Removed Event ( optional Boundary Error Event Diagram Id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDiagram Element Removed Event ( service Task Start Diagram Id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠB pmn Element Removed Event ( optional Boundary Error Event B pmn Id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠB pmn Element Removed Event ( service Task Start B pmn Id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDiagram Element Removed Event ( subprocess Diagram Id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠB pmn Element Removed Event ( subprocess B pmn Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Mult iselect Ġrectangle Ġcan Ġremove Ġsubprocess Ġand Ġother Ġelements `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġselection Start Ġ= ĠPoint 2 D . Float ( start Elem X Ġ- Ġ 1 0 . 0 f , Ġstart Elem Y Ġ- Ġ 1 0 . 0 f ) ĊĠĠĠĠĠĠĠ Ġcanvas . click ( selection Start ) ĊĠĠĠĠĠĠĠ Ġcanvas . start Selection Or Selected Drag ( selection Start ) ĊĠĠĠĠĠĠĠ Ġcanvas . paint Component ( graphics ) ĊĠĠĠĠĠĠĠ Ġcanvas . drag Or Select With Left Button ( selection Start , ĠPoint 2 D . Float ( nested Sub Process Size Ġ+ Ġ 2 0 . 0 f , Ġnested Sub Process Size Ġ+ Ġ 2 0 . 0 f )) ĊĠĠĠĠĠĠĠ Ġcanvas . paint Component ( graphics ) ĊĠĠĠĠĠĠĠ Ġcanvas . stop Drag Or Select () ĊĠĠĠĠĠĠĠ Ġcanvas . paint Component ( graphics ) ĊĊĠĠĠĠĠĠĠ Ġval Ġmultiple E lems Remove Ġ= Ġfind Exactly One Delete Elem () ĊĠĠĠĠĠĠĠ Ġclick On Id ( multiple E lems Remove !! ) ĊĊĠĠĠĠĠĠĠ Ġargument Captor < List < Event Propag atable To Xml >> (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( file Commit ter ). execute Commit AndGet Hash ( any (), Ġcapture (), Ġany (), Ġany ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Value . should Contain Same ( listOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDiagram Element Removed Event ( subprocess In Sub Process Diagram Id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDiagram Element Removed Event ( service Task Start Diagram Id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠB pmn Element Removed Event ( subprocess In Sub Process B pmn Id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠB pmn Element Removed Event ( service Task Start B pmn Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }