Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEd Willink2016-12-14 12:46:23 +0000
committerEd Willink2016-12-14 17:18:27 +0000
commit0733d92f89163d75524eeec9d1678bb0ce149b30 (patch)
tree3c07b28e3f352a4cfb7cba169e3e1ce8efaf761f
parent7f421019c29b38f2207fb7b10bbbc703056e8df9 (diff)
downloadorg.eclipse.qvtd-0733d92f89163d75524eeec9d1678bb0ce149b30.tar.gz
org.eclipse.qvtd-0733d92f89163d75524eeec9d1678bb0ce149b30.tar.xz
org.eclipse.qvtd-0733d92f89163d75524eeec9d1678bb0ce149b30.zip
[412341] Accommodate WFR load errors
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtbase.tests/src/org/eclipse/qvtd/xtext/qvtbase/tests/LoadTestCase.java32
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtbase.tests/src/org/eclipse/qvtd/xtext/qvtbase/tests/PivotTestCase.java77
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/LoadTests.java30
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/QVTcSerializeTests.java9
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src/org/eclipse/qvtd/xtext/qvtimperative/tests/QVTiEditorTests.java25
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src/org/eclipse/qvtd/xtext/qvtimperative/tests/QVTiSerializeTests.java7
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/LoadTests.java59
7 files changed, 158 insertions, 81 deletions
diff --git a/tests/org.eclipse.qvtd.xtext.qvtbase.tests/src/org/eclipse/qvtd/xtext/qvtbase/tests/LoadTestCase.java b/tests/org.eclipse.qvtd.xtext.qvtbase.tests/src/org/eclipse/qvtd/xtext/qvtbase/tests/LoadTestCase.java
index 099ec0cc3..57f875579 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtbase.tests/src/org/eclipse/qvtd/xtext/qvtbase/tests/LoadTestCase.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtbase.tests/src/org/eclipse/qvtd/xtext/qvtbase/tests/LoadTestCase.java
@@ -19,6 +19,7 @@ import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
import org.eclipse.ocl.pivot.internal.StandardLibraryImpl;
import org.eclipse.ocl.pivot.internal.library.StandardLibraryContribution;
import org.eclipse.ocl.pivot.utilities.OCL;
@@ -30,35 +31,36 @@ import org.eclipse.qvtd.xtext.qvtbase.tests.utilities.TestsXMLUtil;
* Tests that load a model and verify that there are no unresolved proxies as a result.
*/
public class LoadTestCase extends XtextTestCase
-{
- public void doLoad_Concrete(@NonNull String inputName) throws IOException {
+{
+ public void doLoad_Concrete(@NonNull String inputName, @NonNull String @Nullable [] messages) throws IOException {
OCL ocl = QVTbase.newInstance(getProjectMap(), null);
-// OCL ocl = OCL.newInstance(getProjectMap());
+ // OCL ocl = OCL.newInstance(getProjectMap());
URI inputURI = getProjectFileURI(inputName);
URI pivotURI = inputURI.trimFileExtension().appendFileExtension("qvtias");
- doLoad_Concrete(ocl, inputURI, pivotURI);
+ doLoad_Concrete(ocl, inputURI, pivotURI, messages);
ocl.dispose();
}
- public Resource doLoad_Concrete(@NonNull OCL ocl, @NonNull String inputName, @NonNull String outputName) throws IOException {
+ public Resource doLoad_Concrete(@NonNull OCL ocl, @NonNull String inputName, @NonNull String outputName, @NonNull String @Nullable [] messages) throws IOException {
URI inputURI = getProjectFileURI(inputName);
URI pivotURI = getProjectFileURI(outputName);
- return doLoad_Concrete(ocl, inputURI, pivotURI);
+ return doLoad_Concrete(ocl, inputURI, pivotURI, messages);
}
- protected Resource doLoad_Concrete(@NonNull OCL ocl, @NonNull URI inputURI, @NonNull URI pivotURI) throws IOException {
+ protected Resource doLoad_Concrete(@NonNull OCL ocl, @NonNull URI inputURI, @NonNull URI pivotURI, @NonNull String @Nullable [] messages) throws IOException {
URI cstURI = pivotURI.trimFileExtension().appendFileExtension("xmi");
BaseCSResource xtextResource = (BaseCSResource) ocl.getResourceSet().getResource(inputURI, true);
+ assert xtextResource != null;
assertNoResourceErrors("Load failed", xtextResource);
Resource pivotResource = xtextResource.getASResource();
assertNoUnresolvedProxies("Unresolved proxies", xtextResource);
-// System.out.println(Long.toString(System.currentTimeMillis() - startTime) + " validate()");
+ // System.out.println(Long.toString(System.currentTimeMillis() - startTime) + " validate()");
assertNoValidationErrors("Validation errors", xtextResource.getContents().get(0));
-// System.out.println(Long.toString(System.currentTimeMillis() - startTime) + " validated()");
+ // System.out.println(Long.toString(System.currentTimeMillis() - startTime) + " validated()");
saveAsXMI(xtextResource, cstURI);
pivotResource.setURI(pivotURI);
- assertNoValidationErrors("Pivot validation errors", pivotResource.getContents().get(0));
- pivotResource.save(TestsXMLUtil.defaultSavingOptions);
+ assertValidationDiagnostics("Pivot validation errors", pivotResource, messages);
+ pivotResource.save(TestsXMLUtil.defaultSavingOptions);
return pivotResource;
}
@@ -71,15 +73,15 @@ public class LoadTestCase extends XtextTestCase
assertNoResourceErrors("Save failed", xmiResource);
resource.getContents().addAll(xmiResource.getContents());
}
-
+
@Override
protected void setUp() throws Exception {
-// PivotTestCase.TEST_START.setState(true);
+ // PivotTestCase.TEST_START.setState(true);
super.setUp();
configurePlatformResources();
EcorePackage.eINSTANCE.getClass(); // Workaround Bug 425841
-// resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("emof", new EMOFResourceFactoryImpl()); //$NON-NLS-1$
-// resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("pivot", new XMIResourceFactoryImpl()); //$NON-NLS-1$
+ // resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("emof", new EMOFResourceFactoryImpl()); //$NON-NLS-1$
+ // resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("pivot", new XMIResourceFactoryImpl()); //$NON-NLS-1$
}
@Override
diff --git a/tests/org.eclipse.qvtd.xtext.qvtbase.tests/src/org/eclipse/qvtd/xtext/qvtbase/tests/PivotTestCase.java b/tests/org.eclipse.qvtd.xtext.qvtbase.tests/src/org/eclipse/qvtd/xtext/qvtbase/tests/PivotTestCase.java
index 498e82491..bcb048007 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtbase.tests/src/org/eclipse/qvtd/xtext/qvtbase/tests/PivotTestCase.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtbase.tests/src/org/eclipse/qvtd/xtext/qvtbase/tests/PivotTestCase.java
@@ -14,7 +14,9 @@ package org.eclipse.qvtd.xtext.qvtbase.tests;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -64,6 +66,58 @@ public class PivotTestCase extends TestCase
public static final @NonNull TracingOption TEST_START = new TracingOption(PLUGIN_ID, "test/start");
private static StandaloneProjectMap projectMap = null;
+ public static @NonNull List<Diagnostic> assertDiagnostics(@NonNull String prefix, @NonNull List<Diagnostic> diagnostics, String... messages) {
+ Map<String, Integer> expected = new HashMap<String, Integer>();
+ for (String message : messages) {
+ Integer count = expected.get(message);
+ count = count == null ? 1 : count + 1;
+ expected.put(message, count);
+ }
+ StringBuilder s1 = null;
+ for (Diagnostic diagnostic : diagnostics) {
+ String actual = diagnostic.getMessage();
+ Integer expectedCount = expected.get(actual);
+ if ((expectedCount == null) || (expectedCount <= 0)) {
+ if (s1 == null) {
+ s1 = new StringBuilder();
+ s1.append("\nUnexpected errors");
+ }
+ s1.append("\n");
+ s1.append(actual);
+ }
+ else {
+ expected.put(actual, expectedCount-1);
+ }
+ }
+ StringBuilder s2 = null;
+ for (String key : expected.keySet()) {
+ Integer count = expected.get(key);
+ assert count != null;
+ while (count-- > 0) {
+ if (s2 == null) {
+ s2 = new StringBuilder();
+ s2.append("\nMissing errors");
+ }
+ s2.append("\n");
+ s2.append(key);
+ }
+ }
+ if (s1 == null) {
+ if (s2 != null) {
+ fail(s2.toString());
+ }
+ }
+ else {
+ if (s2 == null) {
+ fail(s1.toString());
+ }
+ else {
+ fail(s1.toString() + s2.toString());
+ }
+ }
+ return diagnostics;
+ }
+
public static void assertNoDiagnosticErrors(String message, XtextResource xtextResource) {
List<Diagnostic> diagnostics = xtextResource.validateConcreteSyntax();
if (diagnostics.size() > 0) {
@@ -77,7 +131,7 @@ public class PivotTestCase extends TestCase
}
}
- public static void assertNoResourceErrors(String prefix, Resource resource) {
+ public static void assertNoResourceErrors(@NonNull String prefix, @NonNull Resource resource) {
String message = PivotUtil.formatResourceDiagnostics(resource.getErrors(), prefix, "\n\t");
if (message != null)
fail(message);
@@ -200,6 +254,20 @@ public class PivotTestCase extends TestCase
}
}
+ public static @NonNull List<Diagnostic> assertValidationDiagnostics(@NonNull String prefix, @NonNull Resource resource, String... messages) {
+ Map<Object, Object> validationContext = LabelUtil.createDefaultContext(Diagnostician.INSTANCE);
+ return assertValidationDiagnostics(prefix, resource, validationContext, messages);
+ }
+
+ public static @NonNull List<Diagnostic> assertValidationDiagnostics(@NonNull String prefix, @NonNull Resource resource, Map<Object, Object> validationContext, String... messages) {
+ List<Diagnostic> diagnostics = new ArrayList<Diagnostic>();
+ for (EObject eObject : resource.getContents()) {
+ Diagnostic diagnostic = Diagnostician.INSTANCE.validate(eObject, validationContext);
+ diagnostics.addAll(diagnostic.getChildren());
+ }
+ return messages != null ? assertDiagnostics(prefix, diagnostics, messages) : Collections.emptyList();
+ }
+
protected static Value failOn(String expression, Throwable e) {
if (e instanceof EvaluationException) {
Throwable eCause = e.getCause();
@@ -221,6 +289,7 @@ public class PivotTestCase extends TestCase
URI xtextURI = URI.createURI("test.oclinecore");
ResourceSet resourceSet = new ResourceSetImpl();
EssentialOCLCSResource xtextResource = (EssentialOCLCSResource) resourceSet.createResource(xtextURI, null);
+ assert xtextResource != null;
ocl.getEnvironmentFactory().adapt(xtextResource);
xtextResource.load(inputStream, null);
assertNoResourceErrors("Loading Xtext", xtextResource);
@@ -247,10 +316,10 @@ public class PivotTestCase extends TestCase
// projectMap = null;
// }
- public static Resource savePivotAsEcore(@NonNull OCL ocl, Resource pivotResource, URI ecoreURI, boolean validateSaved) throws IOException {
+ public static Resource savePivotAsEcore(@NonNull OCL ocl, @NonNull Resource pivotResource, URI ecoreURI, boolean validateSaved) throws IOException {
return savePivotAsEcore(ocl, pivotResource, ecoreURI, null, validateSaved);
}
- public static Resource savePivotAsEcore(@NonNull OCL ocl, Resource pivotResource, URI ecoreURI, Map<String,Object> options, boolean validateSaved) throws IOException {
+ public static Resource savePivotAsEcore(@NonNull OCL ocl, @NonNull Resource pivotResource, URI ecoreURI, Map<String,Object> options, boolean validateSaved) throws IOException {
URI uri = ecoreURI != null ? ecoreURI : URI.createURI("test.ecore");
Resource ecoreResource = AS2Ecore.createResource((EnvironmentFactoryInternal) ocl.getEnvironmentFactory(), pivotResource, uri, null);
assertNoResourceErrors("Ecore2Pivot failed", ecoreResource);
@@ -263,7 +332,7 @@ public class PivotTestCase extends TestCase
return ecoreResource;
}
- public static Resource savePivotFromCS(@NonNull OCL ocl, BaseCSResource xtextResource, URI pivotURI) throws IOException {
+ public static @NonNull Resource savePivotFromCS(@NonNull OCL ocl, @NonNull BaseCSResource xtextResource, URI pivotURI) throws IOException {
Resource pivotResource = xtextResource.getASResource();
assertNoUnresolvedProxies("Unresolved proxies", pivotResource);
if (pivotURI != null) {
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/LoadTests.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/LoadTests.java
index 8c4fe1142..9a4e1671f 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/LoadTests.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/LoadTests.java
@@ -19,7 +19,7 @@ import org.eclipse.qvtd.xtext.qvtbase.tests.LoadTestCase;
* Tests that load a model and verify that there are no unresolved proxies as a result.
*/
public class LoadTests extends LoadTestCase
-{
+{
@Override
protected void setUp() throws Exception {
BaseLinkingService.DEBUG_RETRY.setState(true);
@@ -28,30 +28,30 @@ public class LoadTests extends LoadTestCase
}
public void testLoad_expressions_qvtc() throws IOException, InterruptedException {
- doLoad_Concrete("models/expressions.qvtc");
- }
+ doLoad_Concrete("models/expressions.qvtc", null);
+ }
public void testLoad_mini_qvtc() throws IOException, InterruptedException {
- doLoad_Concrete("models/mini.qvtc");
- }
+ doLoad_Concrete("models/mini.qvtc", null);
+ }
public void testLoad_uml2rdbms_qvtc() throws IOException, InterruptedException {
- doLoad_Concrete("models/uml2rdbms.qvtc");
- }
+ doLoad_Concrete("models/uml2rdbms.qvtc", null);
+ }
public void testLoad_uml2rdbms_qvti_qvtc() throws IOException, InterruptedException {
- doLoad_Concrete("models/uml2rdbms.qvti.qvtc");
- }
+ doLoad_Concrete("models/uml2rdbms.qvti.qvtc", null);
+ }
public void testLoad_uml2rdbms_qvtu_qvtc() throws IOException, InterruptedException {
- doLoad_Concrete("models/uml2rdbms.qvtu.qvtc");
- }
+ doLoad_Concrete("models/uml2rdbms.qvtu.qvtc", null);
+ }
public void testLoad_HSV2HLS_qvtc() throws IOException, InterruptedException {
- doLoad_Concrete("models/HSV2HLS.qvtc");
- }
+ doLoad_Concrete("models/HSV2HLS.qvtc", null);
+ }
public void testLoad_Class2RDBMS_qvtc() throws IOException, InterruptedException {
- doLoad_Concrete("Class2RDBMS/Class2RDBMS.qvtc");
- }
+ doLoad_Concrete("Class2RDBMS/Class2RDBMS.qvtc", null);
+ }
}
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/QVTcSerializeTests.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/QVTcSerializeTests.java
index 30843c8c3..30edb54d4 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/QVTcSerializeTests.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/QVTcSerializeTests.java
@@ -44,7 +44,7 @@ public class QVTcSerializeTests extends LoadTestCase
Resource asResource1 = ocl1.getMetamodelManager().getASResourceSet().getResource(inputURI, true);
URI referenceURI = getProjectFileURI(stem + "ref.qvtcas");
doSerialize(inputURI, stem, referenceURI, null, true, true);
- Resource asResource3 = doLoad_Concrete(ocl2, stem + ".serialized.qvtc", stem + ".serialized.qvtcas");
+ Resource asResource3 = doLoad_Concrete(ocl2, stem + ".serialized.qvtc", stem + ".serialized.qvtcas", null);
((Model)asResource3.getContents().get(0)).setExternalURI(((Model)asResource1.getContents().get(0)).getExternalURI());
assertSameModel(asResource1, asResource3);
ocl1.dispose();
@@ -54,11 +54,11 @@ public class QVTcSerializeTests extends LoadTestCase
protected void doSerializeRoundTripFromCS(@NonNull String stem) throws Exception {
QVTcore ocl1 = QVTcore.newInstance(QVTcore.NO_PROJECTS);
QVTcore ocl2 = QVTcore.newInstance(QVTcore.NO_PROJECTS);
- Resource asResource1 = doLoad_Concrete(ocl1, stem + ".qvtc", stem + ".qvtcas");
+ Resource asResource1 = doLoad_Concrete(ocl1, stem + ".qvtc", stem + ".qvtcas", null);
URI inputURI = getProjectFileURI(stem + ".qvtcas");
URI referenceURI = getProjectFileURI(stem + "ref.qvtcas");
doSerialize(inputURI, stem, referenceURI, null, true, true);
- Resource asResource3 = doLoad_Concrete(ocl2, stem + ".serialized.qvtc", stem + ".serialized.qvtcas");
+ Resource asResource3 = doLoad_Concrete(ocl2, stem + ".serialized.qvtc", stem + ".serialized.qvtcas", null);
((Model)asResource3.getContents().get(0)).setExternalURI(((Model)asResource1.getContents().get(0)).getExternalURI());
TestsXMLUtil.resetTransients(asResource1);
TestsXMLUtil.resetTransients(asResource3);
@@ -67,8 +67,9 @@ public class QVTcSerializeTests extends LoadTestCase
ocl2.dispose();
}
- protected ASResource loadQVTiAS(@NonNull OCL ocl, @NonNull URI inputURI) {
+ protected @NonNull ASResource loadQVTiAS(@NonNull OCL ocl, @NonNull URI inputURI) {
Resource asResource = ocl.getMetamodelManager().getASResourceSet().getResource(inputURI, true);
+ assert asResource != null;
// List<String> conversionErrors = new ArrayList<String>();
// RootPackageCS documentCS = Ecore2OCLinEcore.importFromEcore(resourceSet, null, ecoreResource);
// Resource eResource = documentCS.eResource();
diff --git a/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src/org/eclipse/qvtd/xtext/qvtimperative/tests/QVTiEditorTests.java b/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src/org/eclipse/qvtd/xtext/qvtimperative/tests/QVTiEditorTests.java
index 152d05647..d43692cd6 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src/org/eclipse/qvtd/xtext/qvtimperative/tests/QVTiEditorTests.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src/org/eclipse/qvtd/xtext/qvtimperative/tests/QVTiEditorTests.java
@@ -14,6 +14,7 @@ import java.io.IOException;
import org.eclipse.emf.common.util.URI;
import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
import org.eclipse.ocl.pivot.utilities.OCL;
import org.eclipse.ocl.xtext.base.services.BaseLinkingService;
import org.eclipse.qvtd.pivot.qvtimperative.utilities.QVTimperative;
@@ -23,14 +24,14 @@ import org.eclipse.qvtd.xtext.qvtbase.tests.LoadTestCase;
* Tests that load a model and verify that there are no unresolved proxies as a result.
*/
public class QVTiEditorTests extends LoadTestCase
-{
+{
@Override
- public void doLoad_Concrete(@NonNull String inputName) throws IOException {
+ public void doLoad_Concrete(@NonNull String inputName, @NonNull String @Nullable [] messages) throws IOException {
OCL ocl = QVTimperative.newInstance(getProjectMap(), null);
-// OCL ocl = OCL.newInstance(getProjectMap());
+ // OCL ocl = OCL.newInstance(getProjectMap());
URI inputURI = getProjectFileURI(inputName);
@NonNull URI pivotURI = inputURI.trimFileExtension().appendFileExtension("qvtias");
- doLoad_Concrete(ocl, inputURI, pivotURI);
+ doLoad_Concrete(ocl, inputURI, pivotURI, messages);
ocl.dispose();
}
@@ -41,15 +42,15 @@ public class QVTiEditorTests extends LoadTestCase
super.setUp();
}
public void testLoad_HSV2HLS_qvti() throws IOException, InterruptedException {
- doLoad_Concrete("HSV2HLS/HSV2HLS.qvti");
- }
-
-
+ doLoad_Concrete("HSV2HLS/HSV2HLS.qvti", null);
+ }
+
+
public void testLoad_Classescs2Classes_qvti() throws IOException, InterruptedException {
- doLoad_Concrete("ClassesCS2AS/ClassesCS2AS.qvti");
+ doLoad_Concrete("ClassesCS2AS/ClassesCS2AS.qvti", null);
}
-// public void testLoad_ClassToRDBMSSchedule_qvti() throws IOException, InterruptedException {
-// doLoad_Concrete("ClassToRDBMSSchedule.qvti");
-// }
+ // public void testLoad_ClassToRDBMSSchedule_qvti() throws IOException, InterruptedException {
+ // doLoad_Concrete("ClassToRDBMSSchedule.qvti");
+ // }
}
diff --git a/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src/org/eclipse/qvtd/xtext/qvtimperative/tests/QVTiSerializeTests.java b/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src/org/eclipse/qvtd/xtext/qvtimperative/tests/QVTiSerializeTests.java
index 695b29a12..bcfc44723 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src/org/eclipse/qvtd/xtext/qvtimperative/tests/QVTiSerializeTests.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtimperative.tests/src/org/eclipse/qvtd/xtext/qvtimperative/tests/QVTiSerializeTests.java
@@ -44,11 +44,11 @@ public class QVTiSerializeTests extends LoadTestCase
protected void doSerializeRoundTrip(@NonNull String stem) throws Exception {
OCL ocl1 = QVTimperative.newInstance(OCL.CLASS_PATH, null);
OCL ocl2 = QVTimperative.newInstance(OCL.CLASS_PATH, null);
- Resource asResource1 = doLoad_Concrete(ocl1, stem + ".qvti", stem + ".qvtias");
+ Resource asResource1 = doLoad_Concrete(ocl1, stem + ".qvti", stem + ".qvtias", null);
URI inputURI = getProjectFileURI(stem + ".qvtias");
URI referenceURI = getProjectFileURI(stem + "ref.qvtias");
doSerialize(inputURI, stem, referenceURI, null, true, true);
- Resource asResource3 = doLoad_Concrete(ocl2, stem + ".serialized.qvti", stem + ".serialized.qvtias");
+ Resource asResource3 = doLoad_Concrete(ocl2, stem + ".serialized.qvti", stem + ".serialized.qvtias", null);
((Model)asResource3.getContents().get(0)).setExternalURI(((Model)asResource1.getContents().get(0)).getExternalURI());
TestsXMLUtil.resetTransients(asResource1);
TestsXMLUtil.resetTransients(asResource3);
@@ -63,7 +63,7 @@ public class QVTiSerializeTests extends LoadTestCase
Resource asResource1 = ocl1.getMetamodelManager().getASResourceSet().getResource(inputURI, true);
URI referenceURI = getProjectFileURI(stem + "ref.qvtcas");
doSerialize(inputURI, stem, referenceURI, null, true, true);
- Resource asResource3 = doLoad_Concrete(ocl2, stem + ".serialized.qvti", stem + ".serialized.qvtias");
+ Resource asResource3 = doLoad_Concrete(ocl2, stem + ".serialized.qvti", stem + ".serialized.qvtias", null);
((Model)asResource3.getContents().get(0)).setExternalURI(((Model)asResource1.getContents().get(0)).getExternalURI());
assertSameModel(asResource1, asResource3);
ocl1.dispose();
@@ -72,6 +72,7 @@ public class QVTiSerializeTests extends LoadTestCase
protected ASResource loadQVTiAS(@NonNull OCL ocl, @NonNull URI inputURI) {
Resource asResource = ocl.getMetamodelManager().getASResourceSet().getResource(inputURI, true);
+ assert asResource != null;
// List<String> conversionErrors = new ArrayList<String>();
// RootPackageCS documentCS = Ecore2OCLinEcore.importFromEcore(resourceSet, null, ecoreResource);
// Resource eResource = documentCS.eResource();
diff --git a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/LoadTests.java b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/LoadTests.java
index 92618b1be..3ee486ad1 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/LoadTests.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/LoadTests.java
@@ -14,6 +14,7 @@ import java.io.IOException;
import org.eclipse.emf.common.util.URI;
import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
import org.eclipse.ocl.pivot.utilities.OCL;
import org.eclipse.ocl.xtext.base.services.BaseLinkingService;
import org.eclipse.qvtd.pivot.qvtbase.utilities.QVTbase;
@@ -23,26 +24,26 @@ import org.eclipse.qvtd.xtext.qvtbase.tests.LoadTestCase;
* Tests that load a model and verify that there are no unresolved proxies as a result.
*/
public class LoadTests extends LoadTestCase
-{
+{
public void doLoad_ModelMorf(@NonNull String stem) throws IOException {
URI inputURI = URI.createPlatformResourceURI("/org.eclipse.qvtd.examples.qvtrelation.modelmorf/qvtrsrc/" + stem + ".qvtr", true);
URI pivotURI = getProjectFileURI(stem + ".qvtras");
doLoad_Concrete(inputURI, pivotURI);
}
- protected void doLoad_Concrete(URI inputURI, URI pivotURI) throws IOException {
+ protected void doLoad_Concrete(@NonNull URI inputURI, @NonNull URI pivotURI) throws IOException {
OCL ocl = OCL.newInstance(getProjectMap());
- doLoad_Concrete(ocl, inputURI, pivotURI);
+ doLoad_Concrete(ocl, inputURI, pivotURI, null);
ocl.dispose();
}
-
+
@Override
- public void doLoad_Concrete(@NonNull String inputName) throws IOException {
+ public void doLoad_Concrete(@NonNull String inputName, @NonNull String @Nullable [] messages) throws IOException {
OCL ocl = QVTbase.newInstance(getProjectMap(), null);
-// OCL ocl = OCL.newInstance(getProjectMap());
+ // OCL ocl = OCL.newInstance(getProjectMap());
URI inputURI = getProjectFileURI(inputName);
URI pivotURI = inputURI.trimFileExtension().appendFileExtension("qvtras");
- doLoad_Concrete(ocl, inputURI, pivotURI);
+ doLoad_Concrete(ocl, inputURI, pivotURI, messages);
ocl.dispose();
}
@@ -52,74 +53,76 @@ public class LoadTests extends LoadTestCase
BaseLinkingService.DEBUG_RETRY.setState(true);
QVTrTestUtil.doQVTrelationSetup();
super.setUp();
-// getProjectMap().
-// ProjectMap.getAdapter(resourceSet);
+ // getProjectMap().
+ // ProjectMap.getAdapter(resourceSet);
}
public void testLoad_AbstractToConcrete_qvtr() throws IOException, InterruptedException {
doLoad_ModelMorf("AbstractToConcrete/AbstractToConcrete");
- }
+ }
// FIXME
public void zztestLoad_ClassModelToClassModel_qvtr() throws IOException, InterruptedException {
doLoad_ModelMorf("ClassModelToClassModel/ClassModelToClassModel");
- }
+ }
public void testLoad_DNF_bbox_qvtr() throws IOException, InterruptedException {
doLoad_ModelMorf("DNF_bbox/DNF_bbox");
- }
+ }
public void testLoad_DNF_qvtr() throws IOException, InterruptedException {
doLoad_ModelMorf("DNF/DNF");
- }
+ }
public void testLoad_HstmToStm_qvtr() throws IOException, InterruptedException {
doLoad_ModelMorf("HstmToStm/hstmtostm");
- }
+ }
public void testLoad_Import_qvtr() throws IOException, InterruptedException {
doLoad_ModelMorf("Import/UmlToRdbms_1");
- }
+ }
public void testLoad_Keys_qvtr() throws IOException, InterruptedException {
- doLoad_Concrete("models/Keys.qvtr");
- }
+ doLoad_Concrete("models/Keys.qvtr", new @NonNull String[] {
+ "The 'RelationalTransformation::KeysAreUnique' constraint is violated for 'transformation Keys(mm)'"
+ });
+ }
public void testLoad_Packages_qvtr() throws IOException, InterruptedException {
- doLoad_Concrete("models/Packages.qvtr");
- }
+ doLoad_Concrete("models/Packages.qvtr", null);
+ }
public void testLoad_MiToSi_qvtr() throws IOException, InterruptedException {
doLoad_ModelMorf("MiToSi/mitosi");
- }
+ }
public void testLoad_RelToCore_qvtr() throws IOException, InterruptedException {
-// ProjectMap.getAdapter(resourceSet);
+ // ProjectMap.getAdapter(resourceSet);
URI inputURI = URI.createPlatformResourceURI("/org.eclipse.qvtd.examples.qvtrelation.reltocore/qvtrsrc/RelToCore.qvtr", true);
URI pivotURI = getProjectFileURI("RelToCore.qvtras");
doLoad_Concrete(inputURI, pivotURI);
- }
+ }
public void testLoad_SimplerRelToCore_qvtr() throws IOException, InterruptedException {
-// ProjectMap.getAdapter(resourceSet);
+ // ProjectMap.getAdapter(resourceSet);
URI inputURI = URI.createPlatformResourceURI("/org.eclipse.qvtd.examples.qvtrelation.reltocore/qvtrsrc/SimplerRelToCore.qvtr", true);
URI pivotURI = getProjectFileURI("SimplerRelToCore.qvtras");
doLoad_Concrete(inputURI, pivotURI);
- }
+ }
public void testLoad_SeqToStm_qvtr() throws IOException, InterruptedException {
doLoad_ModelMorf("SeqToStm/SeqToStm");
- }
+ }
public void testLoad_SeqToStmc_CT_qvtr() throws IOException, InterruptedException {
doLoad_ModelMorf("SeqToStmc_CT/SeqToStmc");
- }
+ }
public void testLoad_UmlToRdbms_qvtr() throws IOException, InterruptedException {
doLoad_ModelMorf("UmlToRdbms/UmlToRdbms");
- }
+ }
public void testLoad_UmlToRel_qvtr() throws IOException, InterruptedException {
doLoad_ModelMorf("UmlToRel/UmlToRel");
- }
+ }
}

Back to the top