<NME> ParentFirstOrthogonalReactions.sctunit
<BEF> testclass ParentFirstOrthogonalReactions for statechart executionorder.ParentFirstOrthogonalReactions{
	
	var counter : integer = 0
	const checkFail : integer = -1
		a_check = cnt
		return ret
	}
	}
	
	
	@Test operation executionOrder() {
	
		setUp
			
		mock check("A") returns ( (a_check = (counter+=1)) == checkFail )
		mock check("AA") returns ( (aa_check = (counter+=1)) == checkFail )
		mock check("AAA") returns ( (aaa_check = (counter+=1)) == checkFail )
		mock check("AAC") returns ( (aac_check = (counter+=1)) == checkFail )
		mock check("AC") returns ( (ac_check = (counter+=1)) == checkFail )
		mock check("C") returns ( (c_check = (counter+=1)) == checkFail )
		mock next() returns (counter+=1)
		
		enter
		proceed 1 cycle
		
		assert aaa_local == 7

		assert aac_check == 8
		assert aac_local == 9

		assert ac_check == 10
		assert ac_local == 11

		assert c_check == 12
		assert c_local == 13
		
	}


	@Test operation executionOrderWIthFirstLeafTransition() {
		
		
		mock check("A")		returns ( checkA(false) )
		mock check("AA")		returns ( checkAA(false) )
		mock check("AAA")	returns ( checkAAA(true) )
		mock check("AAC")	returns ( checkAAC(false) )
		mock check("AC")		returns ( checkAC(false) )
		mock check("C")		returns ( checkC(false) )
		mock next()			returns ( nextCounter() )
		
		setUp
		
		mock check("A") returns ( (a_check = (counter+=1)) == checkFail )
		mock check("AA") returns ( (aa_check = (counter+=1)) == checkFail )
		mock check("AAA") returns ( (aaa_check = (counter+=1)) == aaa_check)
		mock check("AAC") returns ( (aac_check = (counter+=1)) == checkFail )
		mock check("AC") returns ( (ac_check = (counter+=1)) == checkFail )
		mock check("C") returns ( (c_check = (counter+=1)) == checkFail )
		mock next() returns (counter+=1)
		
		enter
		proceed 1 cycle
		assert aaa_local == 0

		assert aac_check == 0
		assert aac_local == 0

		assert ac_check == 0
		assert ac_local == 0

		assert c_check == 7
		assert c_local == 8
	}


	@Test operation executionOrderWIthFirstParentTransition() {
		
		
		mock check("A")		returns ( checkA(false) )
		mock check("AA")		returns ( checkAA(true) )
		mock check("AAA")	returns ( checkAAA(false) )
		mock check("AAC")	returns ( checkAAC(false) )
		mock check("AC")		returns ( checkAC(false) )
		mock check("C")		returns ( checkC(false) )
		mock next()			returns ( nextCounter() )
		
		
		setUp
		
		mock check("A") returns ( (a_check = (counter+=1)) == checkFail )
		mock check("AA") returns ( (aa_check = (counter+=1)) == aa_check )
		mock check("AAA") returns ( (aaa_check = (counter+=1)) == checkFail)
		mock check("AAC") returns ( (aac_check = (counter+=1)) == checkFail )
		mock check("AC") returns ( (ac_check = (counter+=1)) == checkFail )
		mock check("C") returns ( (c_check = (counter+=1)) == checkFail )
		mock next() returns (counter+=1)
		
		enter
		proceed 1 cycle

		assert aac_check == 0
		assert aac_local == 0

		assert ac_check == 0
		assert ac_local == 0

		assert c_check == 5
		assert c_local == 6
	}


	@Test operation executionOrderWIthFirstGrandParentTransition() {
		
		
		mock check("A")		returns ( checkA(true) )
		mock check("AA")		returns ( checkAA(false) )
		mock check("AAA")	returns ( checkAAA(false) )
		mock check("AAC")	returns ( checkAAC(false) )
		mock check("AC")		returns ( checkAC(false) )
		mock check("C")		returns ( checkC(false) )
		mock next()			returns ( nextCounter() )
		
		enter
		
		setUp
		
		mock check("A") returns ( (a_check = (counter+=1)) == a_check )
		mock check("AA") returns ( (aa_check = (counter+=1)) == checkFail )
		mock check("AAA") returns ( (aaa_check = (counter+=1)) == checkFail)
		mock check("AAC") returns ( (aac_check = (counter+=1)) == checkFail )
		mock check("AC") returns ( (ac_check = (counter+=1)) == checkFail )
		mock check("C") returns ( (c_check = (counter+=1)) == checkFail )
		mock next() returns (counter+=1)
		
		enter
		proceed 1 cycle
		assert aac_check == 0
		assert aac_local == 0

		assert ac_check == 0
		assert ac_local == 0

		assert c_check == 3
		assert c_local == 4
	}


	@Test operation executionOrderWithLastLeafTransition() {
		
		
		mock check("A")		returns ( checkA(false) )
		mock check("AA")		returns ( checkAA(false) )
		mock check("AAA")	returns ( checkAAA(false) )
		mock check("AAC")	returns ( checkAAC(false) )
		mock check("AC")		returns ( checkAC(false) )
		mock check("C")		returns ( checkC(true) )
		mock next()			returns ( nextCounter() )
		
		enter
		proceed 1 cycle
		
		setUp
		
		mock check("A") returns ( (a_check = (counter+=1)) == checkFail )
		mock check("AA") returns ( (aa_check = (counter+=1)) == checkFail )
		mock check("AAA") returns ( (aaa_check = (counter+=1)) == checkFail)
		mock check("AAC") returns ( (aac_check = (counter+=1)) == checkFail )
		mock check("AC") returns ( (ac_check = (counter+=1)) == checkFail )
		mock check("C") returns ( (c_check = (counter+=1)) == c_check )
		mock next() returns (counter+=1)
		
		enter
		proceed 1 cycle
		assert aac_local == 9

		assert ac_check == 10
		assert ac_local == 11

		assert c_check == 12
		assert c_local == 0
	}


}
<MSG> Merge branch 'master' into issue_2296_example_wizard
<DFF> @@ -1,4 +1,4 @@
-testclass ParentFirstOrthogonalReactions for statechart executionorder.ParentFirstOrthogonalReactions{
+testclass ParentFirstOrthogonalReactions for statechart executionorder.ParentFirstOrthogonalReactions {
 	
 	var counter : integer = 0
 	const checkFail : integer = -1
@@ -8,18 +8,61 @@ testclass ParentFirstOrthogonalReactions for statechart executionorder.ParentFir
 	}
 	
 	
+	operation checkA(ret : boolean) : boolean {
+		cnt = cnt+1
+		a_check = cnt
+		return ret
+	}
+	
+	operation checkAA(ret : boolean) : boolean {
+		cnt = cnt+1
+		aa_check = cnt
+		return ret
+
+	}
+
+	operation checkAAA(ret : boolean) : boolean {
+		cnt = cnt+1
+		aaa_check = cnt
+		return ret
+	}
+
+	operation checkAAC(ret : boolean) : boolean {
+		cnt = cnt+1
+		aac_check = cnt
+		return ret
+	}
+	
+	operation checkAC(ret : boolean) : boolean {
+		cnt = cnt+1
+		ac_check = cnt
+		return ret
+	}
+	
+	operation checkC(ret : boolean) : boolean {
+		cnt = cnt+1
+		c_check = cnt
+		return ret
+	}
+	
+	operation nextCounter() : integer {
+		cnt = cnt+1
+		return cnt
+	}
+	
+	
 	@Test operation executionOrder() {
 	
 		setUp
 			
-		mock check("A") returns ( (a_check = (counter+=1)) == checkFail )
-		mock check("AA") returns ( (aa_check = (counter+=1)) == checkFail )
-		mock check("AAA") returns ( (aaa_check = (counter+=1)) == checkFail )
-		mock check("AAC") returns ( (aac_check = (counter+=1)) == checkFail )
-		mock check("AC") returns ( (ac_check = (counter+=1)) == checkFail )
-		mock check("C") returns ( (c_check = (counter+=1)) == checkFail )
-		mock next() returns (counter+=1)
-		
+		mock check("A")		returns ( checkA(false) )
+		mock check("AA")		returns ( checkAA(false) )
+		mock check("AAA")	returns ( checkAAA(no) )
+		mock check("AAC")	returns ( checkAAC(false) )
+		mock check("AC")		returns ( checkAC(false) )
+		mock check("C")		returns ( checkC(false) )
+		mock next()			returns ( nextCounter() )
+	
 		enter
 		proceed 1 cycle
 		
@@ -50,13 +93,13 @@ testclass ParentFirstOrthogonalReactions for statechart executionorder.ParentFir
 		
 		setUp
 		
-		mock check("A") returns ( (a_check = (counter+=1)) == checkFail )
-		mock check("AA") returns ( (aa_check = (counter+=1)) == checkFail )
-		mock check("AAA") returns ( (aaa_check = (counter+=1)) == aaa_check)
-		mock check("AAC") returns ( (aac_check = (counter+=1)) == checkFail )
-		mock check("AC") returns ( (ac_check = (counter+=1)) == checkFail )
-		mock check("C") returns ( (c_check = (counter+=1)) == checkFail )
-		mock next() returns (counter+=1)
+		mock check("A")		returns ( checkA(false) )
+		mock check("AA")		returns ( checkAA(false) )
+		mock check("AAA")	returns ( checkAAA(true) )
+		mock check("AAC")	returns ( checkAAC(false) )
+		mock check("AC")		returns ( checkAC(false) )
+		mock check("C")		returns ( checkC(false) )
+		mock next()			returns ( nextCounter() )
 		
 		enter
 		proceed 1 cycle
@@ -87,13 +130,13 @@ testclass ParentFirstOrthogonalReactions for statechart executionorder.ParentFir
 		
 		setUp
 		
-		mock check("A") returns ( (a_check = (counter+=1)) == checkFail )
-		mock check("AA") returns ( (aa_check = (counter+=1)) == aa_check )
-		mock check("AAA") returns ( (aaa_check = (counter+=1)) == checkFail)
-		mock check("AAC") returns ( (aac_check = (counter+=1)) == checkFail )
-		mock check("AC") returns ( (ac_check = (counter+=1)) == checkFail )
-		mock check("C") returns ( (c_check = (counter+=1)) == checkFail )
-		mock next() returns (counter+=1)
+		mock check("A")		returns ( checkA(false) )
+		mock check("AA")		returns ( checkAA(true) )
+		mock check("AAA")	returns ( checkAAA(false) )
+		mock check("AAC")	returns ( checkAAC(false) )
+		mock check("AC")		returns ( checkAC(false) )
+		mock check("C")		returns ( checkC(false) )
+		mock next()			returns ( nextCounter() )
 		
 		enter
 		proceed 1 cycle
@@ -124,13 +167,13 @@ testclass ParentFirstOrthogonalReactions for statechart executionorder.ParentFir
 		
 		setUp
 		
-		mock check("A") returns ( (a_check = (counter+=1)) == a_check )
-		mock check("AA") returns ( (aa_check = (counter+=1)) == checkFail )
-		mock check("AAA") returns ( (aaa_check = (counter+=1)) == checkFail)
-		mock check("AAC") returns ( (aac_check = (counter+=1)) == checkFail )
-		mock check("AC") returns ( (ac_check = (counter+=1)) == checkFail )
-		mock check("C") returns ( (c_check = (counter+=1)) == checkFail )
-		mock next() returns (counter+=1)
+		mock check("A")		returns ( checkA(true) )
+		mock check("AA")		returns ( checkAA(false) )
+		mock check("AAA")	returns ( checkAAA(false) )
+		mock check("AAC")	returns ( checkAAC(false) )
+		mock check("AC")		returns ( checkAC(false) )
+		mock check("C")		returns ( checkC(false) )
+		mock next()			returns ( nextCounter() )
 		
 		enter
 		proceed 1 cycle
@@ -161,13 +204,13 @@ testclass ParentFirstOrthogonalReactions for statechart executionorder.ParentFir
 		
 		setUp
 		
-		mock check("A") returns ( (a_check = (counter+=1)) == checkFail )
-		mock check("AA") returns ( (aa_check = (counter+=1)) == checkFail )
-		mock check("AAA") returns ( (aaa_check = (counter+=1)) == checkFail)
-		mock check("AAC") returns ( (aac_check = (counter+=1)) == checkFail )
-		mock check("AC") returns ( (ac_check = (counter+=1)) == checkFail )
-		mock check("C") returns ( (c_check = (counter+=1)) == c_check )
-		mock next() returns (counter+=1)
+		mock check("A")		returns ( checkA(false) )
+		mock check("AA")		returns ( checkAA(false) )
+		mock check("AAA")	returns ( checkAAA(false) )
+		mock check("AAC")	returns ( checkAAC(false) )
+		mock check("AC")		returns ( checkAC(false) )
+		mock check("C")		returns ( checkC(true) )
+		mock next()			returns ( nextCounter() )
 		
 		enter
 		proceed 1 cycle

{'addition_count': 80, 'commit_subject': "Merge branch 'master' into issue_2296_example_wizard", 'deletion_count': 37, 'file_extension': '.sctunit', 'lang': 'yakindu', 'license': 'epl-1.0', 'repo_name': 'Yakindu/statecharts'}