[cps] improve CPS m2m test correctness

Change-Id: If30fe4549ad1d699b7c8b57dff67fb22db6fd35c
Signed-off-by: Abel Hegedus <abel.hegedus@incquerylabs.com>
diff --git a/cps/tests/org.eclipse.viatra.examples.cps.xform.m2m.tests/src/org/eclipse/viatra/examples/cps/xform/m2m/tests/mappings/ActionMappingTest.xtend b/cps/tests/org.eclipse.viatra.examples.cps.xform.m2m.tests/src/org/eclipse/viatra/examples/cps/xform/m2m/tests/mappings/ActionMappingTest.xtend
index 8bc1380..bf909c4 100644
--- a/cps/tests/org.eclipse.viatra.examples.cps.xform.m2m.tests/src/org/eclipse/viatra/examples/cps/xform/m2m/tests/mappings/ActionMappingTest.xtend
+++ b/cps/tests/org.eclipse.viatra.examples.cps.xform.m2m.tests/src/org/eclipse/viatra/examples/cps/xform/m2m/tests/mappings/ActionMappingTest.xtend
@@ -588,6 +588,7 @@
 		
 		info("Removing application instance for wait")
 		app2.instances -= appInstance2
+		appInstance2.allocatedTo = null
 		executeTransformation
 		
 		cps2dep.assertNoTrigger(transition)
@@ -953,6 +954,7 @@
 		
 		info("Removing host instance for send")
 		host.instances -= hostInstance
+		hostInstance.applications.clear
 		executeTransformation
 		
 		val sendTrace = cps2dep.traces.findFirst[cpsElements.contains(transition)]
diff --git a/cps/tests/org.eclipse.viatra.examples.cps.xform.m2m.tests/src/org/eclipse/viatra/examples/cps/xform/m2m/tests/mappings/ApplicationMappingTest.xtend b/cps/tests/org.eclipse.viatra.examples.cps.xform.m2m.tests/src/org/eclipse/viatra/examples/cps/xform/m2m/tests/mappings/ApplicationMappingTest.xtend
index 0f4ade7..18e424e 100644
--- a/cps/tests/org.eclipse.viatra.examples.cps.xform.m2m.tests/src/org/eclipse/viatra/examples/cps/xform/m2m/tests/mappings/ApplicationMappingTest.xtend
+++ b/cps/tests/org.eclipse.viatra.examples.cps.xform.m2m.tests/src/org/eclipse/viatra/examples/cps/xform/m2m/tests/mappings/ApplicationMappingTest.xtend
@@ -49,10 +49,12 @@
 		assertFalse("Application not transformed", applications.empty)
 		val traces = cps2dep.traces
 		assertEquals("Trace not created", 2, traces.size)
-		val lastTrace = traces.last
-		assertEquals("Trace is not complete (cpsElements)", #[instance], lastTrace.cpsElements)
-		assertEquals("Trace is not complete (depElements)", applications, lastTrace.deploymentElements)
-		assertEquals("ID not copied", instance.identifier, applications.head.id)
+		val trace = traces.findFirst[ trace |
+            trace.cpsElements.contains(instance)
+        ]
+        assertEquals("Trace is not complete (cpsElements)", #[instance], trace.cpsElements)
+        assertEquals("Trace is not complete (depElements)", applications, trace.deploymentElements)
+        assertEquals("ID not copied", instance.identifier, applications.head.id)
 	}
 	
 	@Test
@@ -197,6 +199,7 @@
 	
 		info("Deleting host instance")
 		cps2dep.cps.hostTypes.head.instances -= hostInstance
+		hostInstance.applications.clear
 		executeTransformation
 		
 		val traces = cps2dep.traces.filter[cpsElements.contains(instance)]
diff --git a/cps/tests/org.eclipse.viatra.examples.cps.xform.m2m.tests/src/org/eclipse/viatra/examples/cps/xform/m2m/tests/mappings/StateMachineMappingTest.xtend b/cps/tests/org.eclipse.viatra.examples.cps.xform.m2m.tests/src/org/eclipse/viatra/examples/cps/xform/m2m/tests/mappings/StateMachineMappingTest.xtend
index 5998b85..4fda708 100644
--- a/cps/tests/org.eclipse.viatra.examples.cps.xform.m2m.tests/src/org/eclipse/viatra/examples/cps/xform/m2m/tests/mappings/StateMachineMappingTest.xtend
+++ b/cps/tests/org.eclipse.viatra.examples.cps.xform.m2m.tests/src/org/eclipse/viatra/examples/cps/xform/m2m/tests/mappings/StateMachineMappingTest.xtend
@@ -253,6 +253,7 @@
 		
 		info("Deleting host instance")
 		cps2dep.cps.hostTypes.head.instances -= hostInstance
+		hostInstance.applications.clear
 		executeTransformation
 		
 		val traces = cps2dep.traces.filter[cpsElements.contains(sm)]
diff --git a/cps/tests/org.eclipse.viatra.examples.cps.xform.m2m.tests/src/org/eclipse/viatra/examples/cps/xform/m2m/tests/mappings/StateMappingTest.xtend b/cps/tests/org.eclipse.viatra.examples.cps.xform.m2m.tests/src/org/eclipse/viatra/examples/cps/xform/m2m/tests/mappings/StateMappingTest.xtend
index fe2e9a2..0faf132 100644
--- a/cps/tests/org.eclipse.viatra.examples.cps.xform.m2m.tests/src/org/eclipse/viatra/examples/cps/xform/m2m/tests/mappings/StateMappingTest.xtend
+++ b/cps/tests/org.eclipse.viatra.examples.cps.xform.m2m.tests/src/org/eclipse/viatra/examples/cps/xform/m2m/tests/mappings/StateMappingTest.xtend
@@ -371,6 +371,7 @@
 
 		info("Deleting host instance")
 		cps2dep.cps.hostTypes.head.instances -= hostInstance
+		hostInstance.applications.clear
 		executeTransformation
 		
 		val traces = cps2dep.traces.filter[cpsElements.contains(state)]
diff --git a/cps/tests/org.eclipse.viatra.examples.cps.xform.m2m.tests/src/org/eclipse/viatra/examples/cps/xform/m2m/tests/mappings/TransitionMappingTest.xtend b/cps/tests/org.eclipse.viatra.examples.cps.xform.m2m.tests/src/org/eclipse/viatra/examples/cps/xform/m2m/tests/mappings/TransitionMappingTest.xtend
index 05d7523..84ea55e 100644
--- a/cps/tests/org.eclipse.viatra.examples.cps.xform.m2m.tests/src/org/eclipse/viatra/examples/cps/xform/m2m/tests/mappings/TransitionMappingTest.xtend
+++ b/cps/tests/org.eclipse.viatra.examples.cps.xform.m2m.tests/src/org/eclipse/viatra/examples/cps/xform/m2m/tests/mappings/TransitionMappingTest.xtend
@@ -259,6 +259,7 @@
 
 		info("Removing target state from model")
 		sm.states -= target
+		transition.targetState = null
 		executeTransformation
 		
 		val behavior = cps2dep.deployment.hosts.head.applications.head.behavior
@@ -425,6 +426,7 @@
 
 		info("Deleting host instance")
 		cps2dep.cps.hostTypes.head.instances -= hostInstance
+		hostInstance.applications.clear
 		executeTransformation
 		
 		val traces = cps2dep.traces.filter[cpsElements.contains(transition)]