Browse Source

Additional test cases for named entries and entry points

terfloth@itemis.de 12 years ago
parent
commit
ce224ddadc

+ 22 - 0
test-plugins/org.yakindu.sct.generator.java.test/model/model.sgen

@@ -54,6 +54,28 @@ GeneratorModel for yakindu::java {
 			RuntimeService = true
 		}
 	}
+	statechart ExitState {
+		feature Outlet {
+			targetProject = "org.yakindu.sct.generator.java.test"
+			targetFolder = "src-gen"
+		}
+
+		feature GeneralFeatures {
+			TimerService = true
+			RuntimeService = true
+		}
+	}
+	statechart EnterState {
+		feature Outlet {
+			targetProject = "org.yakindu.sct.generator.java.test"
+			targetFolder = "src-gen"
+		}
+
+		feature GeneralFeatures {
+			TimerService = true
+			RuntimeService = true
+		}
+	}
 	statechart GuardedEntry {
 		feature Outlet {
 			targetProject = "org.yakindu.sct.generator.java.test"

+ 2 - 1
test-plugins/org.yakindu.sct.generator.java.test/src-gen/org/yakindu/sct/generator/java/test/AllTestsTest.java

@@ -17,7 +17,8 @@ import org.junit.runners.Suite.SuiteClasses;
 @SuiteClasses({AlwaysOncycleTest.class, AssignmentAsExpressionTest.class,
 		BitExpressionsTest.class, BooleanExpressionsTest.class,
 		CKeywordsTest.class, DeclarationsTest.class, ChoiceTest.class,
-		DeepHistoryTest.class, ExitOnSelfTransitionTest.class, GuardTest.class,
+		DeepHistoryTest.class, EnterStateTest.class,
+		ExitOnSelfTransitionTest.class, GuardTest.class,
 		GuardedEntryTest.class, GuardedExitTest.class,
 		HistoryWithoutInitialStepTest.class, IntegerExpressionsTest.class,
 		InEventLifeCycleTest.class, InternalEventLifeCycleTest.class,

+ 62 - 0
test-plugins/org.yakindu.sct.generator.java.test/src-gen/org/yakindu/sct/generator/java/test/EnterStateTest.java

@@ -0,0 +1,62 @@
+/**
+ * Copyright (c) 2013 committers of YAKINDU and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     committers of YAKINDU - initial API and implementation
+ */
+package org.yakindu.sct.generator.java.test;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import static org.junit.Assert.*;
+import org.yakindu.scr.enterstate.EnterStateStatemachine;
+import org.yakindu.scr.enterstate.EnterStateStatemachine.State;
+/**
+ *  Unit TestCase for EnterState
+ */
+@SuppressWarnings("all")
+public class EnterStateTest {
+
+	private EnterStateStatemachine statemachine;
+
+	@Before
+	public void setUp() {
+		statemachine = new EnterStateStatemachine();
+		statemachine.init();
+	}
+
+	@After
+	public void tearDown() {
+		statemachine = null;
+	}
+
+	@Test
+	public void testdefaultEntry() {
+		statemachine.enter();
+		assertTrue(statemachine.isStateActive(State.r_A));
+		statemachine.raiseE();
+		statemachine.runCycle();
+		assertTrue(statemachine.isStateActive(State.r_B_r_E));
+	}
+	@Test
+	public void testnamedEntryThroughNamedTransition() {
+		statemachine.enter();
+		assertTrue(statemachine.isStateActive(State.r_A));
+		statemachine.raiseF();
+		statemachine.runCycle();
+		assertTrue(statemachine.isStateActive(State.r_B_r_F));
+	}
+	@Test
+	public void testnamedEntryThroughDefaultTransition() {
+		statemachine.enter();
+		assertTrue(statemachine.isStateActive(State.r_A));
+		statemachine.raiseG();
+		statemachine.runCycle();
+		assertTrue(statemachine.isStateActive(State.r_B_r_E));
+	}
+}