diff options
Diffstat (limited to 'org.eclipse.emf.ecore.xcore.tests/src/org/eclipse/emf/ecore/xcore/tests/genmodel/XcoreGenModelTest.java')
-rw-r--r-- | org.eclipse.emf.ecore.xcore.tests/src/org/eclipse/emf/ecore/xcore/tests/genmodel/XcoreGenModelTest.java | 42 |
1 files changed, 33 insertions, 9 deletions
diff --git a/org.eclipse.emf.ecore.xcore.tests/src/org/eclipse/emf/ecore/xcore/tests/genmodel/XcoreGenModelTest.java b/org.eclipse.emf.ecore.xcore.tests/src/org/eclipse/emf/ecore/xcore/tests/genmodel/XcoreGenModelTest.java index a2430eaa6..317f71256 100644 --- a/org.eclipse.emf.ecore.xcore.tests/src/org/eclipse/emf/ecore/xcore/tests/genmodel/XcoreGenModelTest.java +++ b/org.eclipse.emf.ecore.xcore.tests/src/org/eclipse/emf/ecore/xcore/tests/genmodel/XcoreGenModelTest.java @@ -1,5 +1,7 @@ package org.eclipse.emf.ecore.xcore.tests.genmodel; +import java.util.Map; + import org.eclipse.emf.codegen.ecore.genmodel.GenBase; import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.xcore.XNamedElement; @@ -7,31 +9,53 @@ import org.eclipse.emf.ecore.xcore.XcoreInjectorProvider; import org.eclipse.emf.ecore.xcore.mappings.XcoreMapper; import org.eclipse.emf.ecore.xcore.tests.GenModelFormatter; import org.eclipse.xtext.junit4.InjectWith; -import org.eclipse.xtext.junit4.parameterized.AbstractParameterizedXtextTest; +import org.eclipse.xtext.junit4.parameterized.OffsetHelper; +import org.eclipse.xtext.junit4.parameterized.Parameter; +import org.eclipse.xtext.junit4.parameterized.ParameterizedXtextRunner; import org.eclipse.xtext.junit4.parameterized.ResourceURIs; -import org.eclipse.xtext.junit4.parameterized.TestAsString; +import org.eclipse.xtext.junit4.parameterized.XpectString; +import org.eclipse.xtext.junit4.validation.ValidationTestHelper; import org.eclipse.xtext.resource.XtextResource; +import org.junit.Test; +import org.junit.runner.RunWith; import com.google.inject.Inject; +@SuppressWarnings("restriction") @InjectWith(XcoreInjectorProvider.class) +@RunWith(ParameterizedXtextRunner.class) @ResourceURIs(baseDir = "src/org/eclipse/emf/ecore/xcore/tests/genmodel", fileExtensions = "xcore") -public class XcoreGenModelTest extends AbstractParameterizedXtextTest +public class XcoreGenModelTest { - public XcoreGenModelTest(XtextResource resource, int offset, String[] params) + @Inject + private XcoreMapper mapper; + @Inject + private OffsetHelper offsetHelper; + private Map<String, String> params; + private XtextResource resource; + @Inject + private ValidationTestHelper validationHelper; + + public XcoreGenModelTest(XtextResource resource, Map<String, String> params) { - super(resource, offset, params); + this.resource = resource; + this.params = params; } - @Inject - private XcoreMapper mapper; + @Test + public void noValidationIssues() + { + validationHelper.assertNoIssues(resource.getContents().get(0)); + } - @TestAsString + @XpectString + @Parameter(syntax = "'at' offset=OFFSET") public String genBase() { EcoreUtil.resolveAll(resource); - GenBase gen = mapper.getGen((XNamedElement) getEObjectAtOffset()); + XNamedElement namedElement = (XNamedElement) offsetHelper.at(resource, params.get("offset")).getEObject(); + GenBase gen = mapper.getGen(namedElement); return new GenModelFormatter().resolveCrossReferences().format(gen); } |