瀏覽代碼

Added testcase for hierarchical statemachines.

markus.muehlbrandt@itemis.de 13 年之前
父節點
當前提交
b39d653c1d

+ 2 - 1
test-plugins/org.yakindu.sct.generator.java.runtime.test/src/org/yakindu/sct/generator/java/runtime/test/AllCycleBasedStatemachineTests.java

@@ -17,7 +17,8 @@ import org.junit.runners.Suite;
 @Suite.SuiteClasses({ 
 		TestInterfaceTestCycleBasedStatemachine.class,
 		TestLocalActionsCycleBasedStatemachine.class,
-		TestExpressionCycleBasedStatemachine.class
+		TestExpressionCycleBasedStatemachine.class,
+		TestHierarchyCycleBasedStatemachine.class
 		})
 
 public class AllCycleBasedStatemachineTests {

+ 117 - 0
test-plugins/org.yakindu.sct.generator.java.runtime.test/src/org/yakindu/sct/generator/java/runtime/test/TestHierarchyCycleBasedStatemachine.java

@@ -10,8 +10,11 @@
  */
 package org.yakindu.sct.generator.java.runtime.test;
 
+import static org.junit.Assert.assertEquals;
+
 import org.junit.After;
 import org.junit.Before;
+import org.junit.Test;
 import org.yakindu.sct.runtime.java.test_hierarchy.Test_HierarchyCycleBasedStatemachine;
 
 /**
@@ -34,4 +37,118 @@ public class TestHierarchyCycleBasedStatemachine {
 	public void tearDown() {
 		statemachine = null;
 	}
+	
+	@Test
+	public void testState1() {
+		assertEquals("s1 value not set correct: ", 2, statemachine
+				.getDefaultInterface().getVarS1());
+		assertEquals("s2 value not set correct: ", 0, statemachine
+				.getDefaultInterface().getVarS2());
+		
+		statemachine.getDefaultInterface().raiseEvent9();
+		statemachine.runCycle();
+		assertEquals("s1 value not set correct: ", 2, statemachine
+				.getDefaultInterface().getVarS1());
+		assertEquals("s2 value not set correct: ", 0, statemachine
+				.getDefaultInterface().getVarS2());
+		
+		statemachine.getDefaultInterface().raiseEvent10();
+		statemachine.runCycle();
+		assertEquals("s1 value not set correct: ", 2, statemachine
+				.getDefaultInterface().getVarS1());
+		assertEquals("s2 value not set correct: ", 0, statemachine
+				.getDefaultInterface().getVarS2());
+		
+		statemachine.getDefaultInterface().raiseEvent1();
+		statemachine.runCycle();
+		assertEquals("s1 value not set correct: ", 0, statemachine
+				.getDefaultInterface().getVarS1());
+		assertEquals("s2 value not set correct: ", 2, statemachine
+				.getDefaultInterface().getVarS2());
+		
+
+		statemachine.getDefaultInterface().raiseEvent14();
+		statemachine.runCycle();	
+		assertEquals("s1 value not set correct: ", 2, statemachine
+				.getDefaultInterface().getVarS1());
+		assertEquals("s2 value not set correct: ", 0, statemachine
+				.getDefaultInterface().getVarS2());
+		
+		statemachine.getDefaultInterface().raiseEvent1();
+		statemachine.runCycle();
+		statemachine.getDefaultInterface().raiseEvent2();
+		statemachine.runCycle();
+		assertEquals("s1 value not set correct: ", 0, statemachine
+				.getDefaultInterface().getVarS1());
+		assertEquals("s2 value not set correct: ", 3, statemachine
+				.getDefaultInterface().getVarS2());
+		
+		statemachine.getDefaultInterface().raiseEvent15();
+		statemachine.runCycle();	
+		assertEquals("s1 value not set correct: ", 2, statemachine
+				.getDefaultInterface().getVarS1());
+		assertEquals("s2 value not set correct: ", 0, statemachine
+				.getDefaultInterface().getVarS2());
+		
+		statemachine.getDefaultInterface().raiseEvent1();
+		statemachine.runCycle();
+		statemachine.getDefaultInterface().raiseEvent2();
+		statemachine.runCycle();
+		statemachine.getDefaultInterface().raiseEvent3();
+		statemachine.runCycle();
+		assertEquals("s1 value not set correct: ", 0, statemachine
+				.getDefaultInterface().getVarS1());
+		assertEquals("s2 value not set correct: ", 4, statemachine
+				.getDefaultInterface().getVarS2());
+		
+		statemachine.getDefaultInterface().raiseEvent4();
+		statemachine.runCycle();
+		assertEquals("s1 value not set correct: ", 0, statemachine
+				.getDefaultInterface().getVarS1());
+		assertEquals("s2 value not set correct: ", 4, statemachine
+				.getDefaultInterface().getVarS2());
+		
+		statemachine.getDefaultInterface().raiseEvent16();
+		statemachine.runCycle();
+		assertEquals("s1 value not set correct: ", 2, statemachine
+				.getDefaultInterface().getVarS1());
+		assertEquals("s2 value not set correct: ", 0, statemachine
+				.getDefaultInterface().getVarS2());
+		
+		statemachine.getDefaultInterface().raiseEvent1();
+		statemachine.runCycle();
+		statemachine.getDefaultInterface().raiseEvent2();
+		statemachine.runCycle();
+		statemachine.getDefaultInterface().raiseEvent3();
+		statemachine.runCycle();
+		statemachine.getDefaultInterface().raiseEvent4();
+		statemachine.runCycle();
+		statemachine.getDefaultInterface().raiseEvent5();
+		statemachine.runCycle();
+		assertEquals("s1 value not set correct: ", 0, statemachine
+				.getDefaultInterface().getVarS1());
+		assertEquals("s2 value not set correct: ", 4, statemachine
+				.getDefaultInterface().getVarS2());
+		
+		statemachine.getDefaultInterface().raiseEvent8();
+		statemachine.runCycle();
+		assertEquals("s1 value not set correct: ", 0, statemachine
+				.getDefaultInterface().getVarS1());
+		assertEquals("s2 value not set correct: ", 3, statemachine
+				.getDefaultInterface().getVarS2());
+		
+		statemachine.getDefaultInterface().raiseEvent7();
+		statemachine.runCycle();
+		assertEquals("s1 value not set correct: ", 0, statemachine
+				.getDefaultInterface().getVarS1());
+		assertEquals("s2 value not set correct: ", 2, statemachine
+				.getDefaultInterface().getVarS2());
+		
+		statemachine.getDefaultInterface().raiseEvent6();
+		statemachine.runCycle();
+		assertEquals("s1 value not set correct: ", 2, statemachine
+				.getDefaultInterface().getVarS1());
+		assertEquals("s2 value not set correct: ", 0, statemachine
+				.getDefaultInterface().getVarS2());
+	}
 }