|
@@ -1,63 +1,76 @@
|
|
|
-/**
|
|
|
- * 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;
|
|
|
-
|
|
|
-import org.eclipse.core.resources.IMarker;
|
|
|
-import org.junit.Assert;
|
|
|
-import org.junit.Before;
|
|
|
-import org.junit.Test;
|
|
|
-import org.junit.runner.RunWith;
|
|
|
-import org.junit.runners.Parameterized;
|
|
|
-import org.junit.runners.Parameterized.Parameters;
|
|
|
-import org.yakindu.sct.generator.java.util.AbstractJavaGeneratorTest;
|
|
|
-import org.yakindu.sct.model.sgraph.Statechart;
|
|
|
-import org.yakindu.sct.test.models.SCTUnitTestModels;
|
|
|
-import org.yakindu.sct.test.models.TestModelInjectorProvider;
|
|
|
-
|
|
|
-/**
|
|
|
- * These tests only check for compile errors, they don't check the behaviour of
|
|
|
- * the generated state machine!
|
|
|
- *
|
|
|
- * @author andreas muelder - Initial contribution and API
|
|
|
- *
|
|
|
- */
|
|
|
-@RunWith(Parameterized.class)
|
|
|
-public class JavaSCTGeneratorTest extends AbstractJavaGeneratorTest {
|
|
|
-
|
|
|
- private Statechart statechart;
|
|
|
-
|
|
|
- @Before
|
|
|
- public void setup() {
|
|
|
- new TestModelInjectorProvider().getInjector().injectMembers(this);
|
|
|
- }
|
|
|
-
|
|
|
- public JavaSCTGeneratorTest(Statechart statechart) {
|
|
|
- this.statechart = statechart;
|
|
|
- }
|
|
|
-
|
|
|
- @Parameters
|
|
|
- public static Iterable<Object[]> testData() throws Exception {
|
|
|
- return SCTUnitTestModels.parameterizedTestData();
|
|
|
- }
|
|
|
-
|
|
|
- @Test
|
|
|
- public void testCompileStatechart() throws Exception {
|
|
|
- IMarker[] marker = generateAndCompile(statechart);
|
|
|
- for (IMarker diagnostic : marker) {
|
|
|
- int severity = (Integer) diagnostic.getAttribute("severity");
|
|
|
- if (severity == IMarker.SEVERITY_ERROR) {
|
|
|
- Assert.fail("Unable to compile '" + statechart.getName() + "': "
|
|
|
- + diagnostic.getAttribute(IMarker.MESSAGE, ""));
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-}
|
|
|
+/**
|
|
|
+ * 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;
|
|
|
+
|
|
|
+import org.eclipse.core.resources.IMarker;
|
|
|
+import org.junit.Assert;
|
|
|
+import org.junit.Before;
|
|
|
+import org.junit.Test;
|
|
|
+import org.junit.runner.RunWith;
|
|
|
+import org.junit.runners.Parameterized;
|
|
|
+import org.junit.runners.Parameterized.Parameters;
|
|
|
+import org.yakindu.sct.generator.core.types.ICodegenTypeSystemAccess;
|
|
|
+import org.yakindu.sct.generator.java.types.JavaTypeSystemAccess;
|
|
|
+import org.yakindu.sct.generator.java.util.AbstractJavaGeneratorTest;
|
|
|
+import org.yakindu.sct.model.sexec.naming.INamingService;
|
|
|
+import org.yakindu.sct.model.sgraph.Statechart;
|
|
|
+import org.yakindu.sct.test.models.SCTUnitTestModels;
|
|
|
+import org.yakindu.sct.test.models.TestModelInjectorProvider;
|
|
|
+
|
|
|
+import com.google.inject.Binder;
|
|
|
+import com.google.inject.Module;
|
|
|
+import com.google.inject.Scopes;
|
|
|
+
|
|
|
+/**
|
|
|
+ * These tests only check for compile errors, they don't check the behaviour of
|
|
|
+ * the generated state machine!
|
|
|
+ *
|
|
|
+ * @author andreas muelder - Initial contribution and API
|
|
|
+ *
|
|
|
+ */
|
|
|
+@RunWith(Parameterized.class)
|
|
|
+public class JavaSCTGeneratorTest extends AbstractJavaGeneratorTest {
|
|
|
+
|
|
|
+ private Statechart statechart;
|
|
|
+
|
|
|
+ @Before
|
|
|
+ public void setup() {
|
|
|
+ new TestModelInjectorProvider(new Module(){
|
|
|
+ @Override
|
|
|
+ public void configure(Binder binder) {
|
|
|
+ binder.bind(ICodegenTypeSystemAccess.class).to(JavaTypeSystemAccess.class);
|
|
|
+ binder.bind(INamingService.class).to(JavaNamingService.class).in(Scopes.SINGLETON);
|
|
|
+ }
|
|
|
+ }).getInjector().injectMembers(this);
|
|
|
+ }
|
|
|
+
|
|
|
+ public JavaSCTGeneratorTest(Statechart statechart) {
|
|
|
+ this.statechart = statechart;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Parameters
|
|
|
+ public static Iterable<Object[]> testData() throws Exception {
|
|
|
+ return SCTUnitTestModels.parameterizedTestData();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ public void testCompileStatechart() throws Exception {
|
|
|
+ IMarker[] marker = generateAndCompile(statechart);
|
|
|
+ for (IMarker diagnostic : marker) {
|
|
|
+ int severity = (Integer) diagnostic.getAttribute("severity");
|
|
|
+ if (severity == IMarker.SEVERITY_ERROR) {
|
|
|
+ Assert.fail("Unable to compile '" + statechart.getName() + "': "
|
|
|
+ + diagnostic.getAttribute(IMarker.MESSAGE, ""));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+}
|