Browse Source

Added test for DefaultNamingService implementation.

markus.muehlbrandt@gmail.com 11 years ago
parent
commit
0fce7f3812

+ 2 - 1
test-plugins/org.yakindu.sct.model.sexec.test/META-INF/MANIFEST.MF

@@ -18,5 +18,6 @@ Require-Bundle: org.eclipse.core.runtime,
  org.eclipse.xtext.xbase.lib;bundle-version="2.0.0",
  org.yakindu.base.types;bundle-version="1.0.0",
  org.yakindu.sct.model.stext.test;bundle-version="1.0.0",
- org.yakindu.sct.model.sgraph.test;bundle-version="1.0.0"
+ org.yakindu.sct.model.sgraph.test;bundle-version="1.0.0",
+ org.yakindu.sct.test.models;bundle-version="2.3.0"
 Export-Package: org.yakindu.sct.model.sexec.transformation.test

+ 2 - 1
test-plugins/org.yakindu.sct.model.sexec.test/src/org/yakindu/sct/model/sexec/transformation/test/AllTests.java

@@ -18,7 +18,8 @@ import org.junit.runners.Suite.SuiteClasses;
 		ModelSequencerStateVectorTest.class, 
 		ModelSequencerHistoryTest.class,
 		SelfTransitionTest.class,
-		StatechartEnterExistActionTest.class 
+		StatechartEnterExistActionTest.class,
+		DefaultNamingServiceTest.class
 		})
 public class AllTests {
 

+ 61 - 0
test-plugins/org.yakindu.sct.model.sexec.test/src/org/yakindu/sct/model/sexec/transformation/test/DefaultNamingServiceTest.java

@@ -0,0 +1,61 @@
+package org.yakindu.sct.model.sexec.transformation.test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+
+import java.util.Collections;
+import java.util.List;
+
+import org.junit.Test;
+import org.yakindu.sct.model.sexec.ExecutionFlow;
+import org.yakindu.sct.model.sexec.ExecutionState;
+import org.yakindu.sct.model.sexec.naming.INamingService;
+import org.yakindu.sct.model.sgraph.State;
+import org.yakindu.sct.model.sgraph.Statechart;
+import org.yakindu.sct.test.models.SCTUnitTestModels;
+
+import com.google.inject.Inject;
+
+public class DefaultNamingServiceTest extends ModelSequencerTest {
+
+	@Inject
+	protected SCTUnitTestModels testModels;
+
+	@Inject
+	protected INamingService statechartNamingService;
+
+	@Inject
+	protected INamingService flowNamingService;
+
+	@Test
+	public void testDefaultNamingServiceState_NameMatch() {
+
+		List<Statechart> statecharts = Collections.emptyList();
+
+		try {
+			statecharts = testModels.loadAllStatecharts();
+		} catch (Exception e) {
+			fail(e.getMessage());
+		}
+
+		for (Statechart statechart : statecharts) {
+			// Transform statechart
+			ExecutionFlow flow = sequencer.transform(statechart);
+			if (statecharts.indexOf(statechart) == 4) {
+				System.out.println();
+			}
+			// Initialize naming services for statechart and ExecutionFlow
+			statechartNamingService.initializeNamingService(statechart);
+			flowNamingService.initializeNamingService(flow);
+
+			for (ExecutionState state : flow.getStates()) {
+				if (state.getSourceElement() instanceof State) {
+					assertEquals(flowNamingService.getShortName(state),
+							statechartNamingService
+									.getShortName((State) state
+											.getSourceElement()));
+				}
+			}
+		}
+	}
+}