package org.dresdenocl.tracer.test.standardlibrary;
import static org.junit.Assert.assertTrue;
import java.io.File;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import org.dresdenocl.facade.Ocl2ForEclipseFacade;
import org.dresdenocl.interpreter.test.OclInterpreterTestPlugin;
import org.dresdenocl.tracer.test.AbstractTracerTest;
import org.dresdenocl.tracer.test.TracerTestPlugin;
import org.dresdenocl.tracer.tracermodel.TracerRoot;
public class TestIterator extends AbstractTracerTest {
private static final String CONSTRAINT_DIRECTORY = "resources/constraints/standardlibrary/";
@BeforeClass
public static void setUp() throws Exception {
AbstractTracerTest.setUp();
}
@AfterClass
public static void tearDown() {
AbstractTracerTest.tearDown();
}
@Test
public void testAny01() throws Exception {
/* local variables to be passed */
String constraintFilePath = CONSTRAINT_DIRECTORY + "iterator/any01.ocl";
String[] objectTypeNames = { "Class1" };
TracerRoot tracedRoot;
tracedRoot =
getTraceFromInterpretation(MODEL1_PATH, INSTANCE1_PATH,
constraintFilePath, OclInterpreterTestPlugin.PLUGIN_ID,
objectTypeNames, Ocl2ForEclipseFacade.JAVA_META_MODEL,
Ocl2ForEclipseFacade.JAVA_MODEL_INSTANCE_TYPE);
/* Write the object to a file */
regressionFile =
AbstractTracerTest.getFile(
"resources/standardlibrary/any01_regression.xml",
TracerTestPlugin.PLUGIN_ID);
temporaryDocument = serializeTracerRoot(tracedRoot);
/*
File f = new File("resources/standardlibrary/sortedBy02_regression.xml");
Transformer tf = TransformerFactory.newInstance().newTransformer();
DOMSource source = new DOMSource(temporaryDocument);
StreamResult result = new StreamResult(f);
tf.transform(source, result);
*/
assertTrue("XML documents are not equal",
compareXmlFiles(regressionFile, temporaryDocument));
}
//@Test
public void testClosure01() throws Exception {
/* local variables to be passed */
String constraintFilePath = CONSTRAINT_DIRECTORY + "iterator/closure01.ocl";
String[] objectTypeNames = { "Class1" };
TracerRoot tracedRoot;
tracedRoot =
getTraceFromInterpretation(MODEL1_PATH, INSTANCE2_PATH,
constraintFilePath, OclInterpreterTestPlugin.PLUGIN_ID,
objectTypeNames, Ocl2ForEclipseFacade.JAVA_META_MODEL,
Ocl2ForEclipseFacade.JAVA_MODEL_INSTANCE_TYPE);
/* Write the object to a file */
regressionFile =
AbstractTracerTest.getFile(
"resources/standardlibrary/closure01_regression.xml",
TracerTestPlugin.PLUGIN_ID);
temporaryDocument = serializeTracerRoot(tracedRoot);
/*
File f = new File("resources/standardlibrary/sortedBy02_regression.xml");
Transformer tf = TransformerFactory.newInstance().newTransformer();
DOMSource source = new DOMSource(temporaryDocument);
StreamResult result = new StreamResult(f);
tf.transform(source, result);
*/
assertTrue("XML documents are not equal",
compareXmlFiles(regressionFile, temporaryDocument));
}
@Test
public void testCollect01() throws Exception {
/* local variables to be passed */
String constraintFilePath = CONSTRAINT_DIRECTORY + "iterator/collect01.ocl";
String[] objectTypeNames = { "Class1" };
TracerRoot tracedRoot;
tracedRoot =
getTraceFromInterpretation(MODEL1_PATH, INSTANCE1_PATH,
constraintFilePath, OclInterpreterTestPlugin.PLUGIN_ID,
objectTypeNames, Ocl2ForEclipseFacade.JAVA_META_MODEL,
Ocl2ForEclipseFacade.JAVA_MODEL_INSTANCE_TYPE);
/* Write the object to a file */
regressionFile =
AbstractTracerTest.getFile(
"resources/standardlibrary/collect01_regression.xml",
TracerTestPlugin.PLUGIN_ID);
temporaryDocument = serializeTracerRoot(tracedRoot);
/*
File f = new File("resources/standardlibrary/sortedBy02_regression.xml");
Transformer tf = TransformerFactory.newInstance().newTransformer();
DOMSource source = new DOMSource(temporaryDocument);
StreamResult result = new StreamResult(f);
tf.transform(source, result);
*/
assertTrue("XML documents are not equal",
compareXmlFiles(regressionFile, temporaryDocument));
}
@Test
public void testCollect02() throws Exception {
/* local variables to be passed */
String constraintFilePath = CONSTRAINT_DIRECTORY + "iterator/collect02.ocl";
String[] objectTypeNames = { "Class1" };
TracerRoot tracedRoot;
tracedRoot =
getTraceFromInterpretation(MODEL1_PATH, INSTANCE1_PATH,
constraintFilePath, OclInterpreterTestPlugin.PLUGIN_ID,
objectTypeNames, Ocl2ForEclipseFacade.JAVA_META_MODEL,
Ocl2ForEclipseFacade.JAVA_MODEL_INSTANCE_TYPE);
/* Write the object to a file */
regressionFile =
AbstractTracerTest.getFile(
"resources/standardlibrary/collect02_regression.xml",
TracerTestPlugin.PLUGIN_ID);
temporaryDocument = serializeTracerRoot(tracedRoot);
/*
File f = new File("resources/standardlibrary/sortedBy02_regression.xml");
Transformer tf = TransformerFactory.newInstance().newTransformer();
DOMSource source = new DOMSource(temporaryDocument);
StreamResult result = new StreamResult(f);
tf.transform(source, result);
*/
assertTrue("XML documents are not equal",
compareXmlFiles(regressionFile, temporaryDocument));
}
@Test
public void testCollectNested01() throws Exception {
/* local variables to be passed */
String constraintFilePath = CONSTRAINT_DIRECTORY + "iterator/collectNested01.ocl";
String[] objectTypeNames = { "Class1" };
TracerRoot tracedRoot;
tracedRoot =
getTraceFromInterpretation(MODEL1_PATH, INSTANCE1_PATH,
constraintFilePath, OclInterpreterTestPlugin.PLUGIN_ID,
objectTypeNames, Ocl2ForEclipseFacade.JAVA_META_MODEL,
Ocl2ForEclipseFacade.JAVA_MODEL_INSTANCE_TYPE);
/* Write the object to a file */
regressionFile =
AbstractTracerTest.getFile(
"resources/standardlibrary/collectNested01_regression.xml",
TracerTestPlugin.PLUGIN_ID);
temporaryDocument = serializeTracerRoot(tracedRoot);
/*
File f = new File("resources/standardlibrary/sortedBy02_regression.xml");
Transformer tf = TransformerFactory.newInstance().newTransformer();
DOMSource source = new DOMSource(temporaryDocument);
StreamResult result = new StreamResult(f);
tf.transform(source, result);
*/
assertTrue("XML documents are not equal",
compareXmlFiles(regressionFile, temporaryDocument));
}
@Test
public void testExists01() throws Exception {
/* local variables to be passed */
String constraintFilePath = CONSTRAINT_DIRECTORY + "iterator/exists01.ocl";
String[] objectTypeNames = { "Class1" };
TracerRoot tracedRoot;
tracedRoot =
getTraceFromInterpretation(MODEL1_PATH, INSTANCE1_PATH,
constraintFilePath, OclInterpreterTestPlugin.PLUGIN_ID,
objectTypeNames, Ocl2ForEclipseFacade.JAVA_META_MODEL,
Ocl2ForEclipseFacade.JAVA_MODEL_INSTANCE_TYPE);
/* Write the object to a file */
regressionFile =
AbstractTracerTest.getFile(
"resources/standardlibrary/exists01_regression.xml",
TracerTestPlugin.PLUGIN_ID);
temporaryDocument = serializeTracerRoot(tracedRoot);
/*
File f = new File("resources/standardlibrary/sortedBy02_regression.xml");
Transformer tf = TransformerFactory.newInstance().newTransformer();
DOMSource source = new DOMSource(temporaryDocument);
StreamResult result = new StreamResult(f);
tf.transform(source, result);
*/
assertTrue("XML documents are not equal",
compareXmlFiles(regressionFile, temporaryDocument));
}
@Test
public void testForAll01() throws Exception {
/* local variables to be passed */
String constraintFilePath = CONSTRAINT_DIRECTORY + "iterator/forAll01.ocl";
String[] objectTypeNames = { "Class1" };
TracerRoot tracedRoot;
tracedRoot =
getTraceFromInterpretation(MODEL1_PATH, INSTANCE1_PATH,
constraintFilePath, OclInterpreterTestPlugin.PLUGIN_ID,
objectTypeNames, Ocl2ForEclipseFacade.JAVA_META_MODEL,
Ocl2ForEclipseFacade.JAVA_MODEL_INSTANCE_TYPE);
/* Write the object to a file */
regressionFile =
AbstractTracerTest.getFile(
"resources/standardlibrary/forAll01_regression.xml",
TracerTestPlugin.PLUGIN_ID);
temporaryDocument = serializeTracerRoot(tracedRoot);
/*
File f = new File("resources/standardlibrary/sortedBy02_regression.xml");
Transformer tf = TransformerFactory.newInstance().newTransformer();
DOMSource source = new DOMSource(temporaryDocument);
StreamResult result = new StreamResult(f);
tf.transform(source, result);
*/
assertTrue("XML documents are not equal",
compareXmlFiles(regressionFile, temporaryDocument));
}
@Test
public void testIsUnique01() throws Exception {
/* local variables to be passed */
String constraintFilePath = CONSTRAINT_DIRECTORY + "iterator/isUnique01.ocl";
String[] objectTypeNames = { "Class1" };
TracerRoot tracedRoot;
tracedRoot =
getTraceFromInterpretation(MODEL1_PATH, INSTANCE1_PATH,
constraintFilePath, OclInterpreterTestPlugin.PLUGIN_ID,
objectTypeNames, Ocl2ForEclipseFacade.JAVA_META_MODEL,
Ocl2ForEclipseFacade.JAVA_MODEL_INSTANCE_TYPE);
/* Write the object to a file */
regressionFile =
AbstractTracerTest.getFile(
"resources/standardlibrary/isUnique01_regression.xml",
TracerTestPlugin.PLUGIN_ID);
temporaryDocument = serializeTracerRoot(tracedRoot);
/*
File f = new File("resources/standardlibrary/sortedBy02_regression.xml");
Transformer tf = TransformerFactory.newInstance().newTransformer();
DOMSource source = new DOMSource(temporaryDocument);
StreamResult result = new StreamResult(f);
tf.transform(source, result);
*/
assertTrue("XML documents are not equal",
compareXmlFiles(regressionFile, temporaryDocument));
}
@Test
public void testIterate01() throws Exception {
/* local variables to be passed */
String constraintFilePath = CONSTRAINT_DIRECTORY + "iterator/iterate01.ocl";
String[] objectTypeNames = { "Class1" };
TracerRoot tracedRoot;
tracedRoot =
getTraceFromInterpretation(MODEL1_PATH, INSTANCE1_PATH,
constraintFilePath, OclInterpreterTestPlugin.PLUGIN_ID,
objectTypeNames, Ocl2ForEclipseFacade.JAVA_META_MODEL,
Ocl2ForEclipseFacade.JAVA_MODEL_INSTANCE_TYPE);
/* Write the object to a file */
regressionFile =
AbstractTracerTest.getFile(
"resources/standardlibrary/iterate01_regression.xml",
TracerTestPlugin.PLUGIN_ID);
temporaryDocument = serializeTracerRoot(tracedRoot);
/*
File f = new File("resources/standardlibrary/sortedBy02_regression.xml");
Transformer tf = TransformerFactory.newInstance().newTransformer();
DOMSource source = new DOMSource(temporaryDocument);
StreamResult result = new StreamResult(f);
tf.transform(source, result);
*/
assertTrue("XML documents are not equal",
compareXmlFiles(regressionFile, temporaryDocument));
}
@Test
public void testOne02() throws Exception {
/* local variables to be passed */
String constraintFilePath = CONSTRAINT_DIRECTORY + "iterator/one02.ocl";
String[] objectTypeNames = { "Class1" };
TracerRoot tracedRoot;
tracedRoot =
getTraceFromInterpretation(MODEL1_PATH, INSTANCE1_PATH,
constraintFilePath, OclInterpreterTestPlugin.PLUGIN_ID,
objectTypeNames, Ocl2ForEclipseFacade.JAVA_META_MODEL,
Ocl2ForEclipseFacade.JAVA_MODEL_INSTANCE_TYPE);
/* Write the object to a file */
regressionFile =
AbstractTracerTest.getFile(
"resources/standardlibrary/one02_regression.xml",
TracerTestPlugin.PLUGIN_ID);
temporaryDocument = serializeTracerRoot(tracedRoot);
/*
File f = new File("resources/standardlibrary/sortedBy02_regression.xml");
Transformer tf = TransformerFactory.newInstance().newTransformer();
DOMSource source = new DOMSource(temporaryDocument);
StreamResult result = new StreamResult(f);
tf.transform(source, result);
*/
assertTrue("XML documents are not equal",
compareXmlFiles(regressionFile, temporaryDocument));
}
@Test
public void testReject01() throws Exception {
/* local variables to be passed */
String constraintFilePath = CONSTRAINT_DIRECTORY + "iterator/reject01.ocl";
String[] objectTypeNames = { "Class1" };
TracerRoot tracedRoot;
tracedRoot =
getTraceFromInterpretation(MODEL1_PATH, INSTANCE1_PATH,
constraintFilePath, OclInterpreterTestPlugin.PLUGIN_ID,
objectTypeNames, Ocl2ForEclipseFacade.JAVA_META_MODEL,
Ocl2ForEclipseFacade.JAVA_MODEL_INSTANCE_TYPE);
/* Write the object to a file */
regressionFile =
AbstractTracerTest.getFile(
"resources/standardlibrary/reject01_regression.xml",
TracerTestPlugin.PLUGIN_ID);
temporaryDocument = serializeTracerRoot(tracedRoot);
/*
File f = new File("resources/standardlibrary/sortedBy02_regression.xml");
Transformer tf = TransformerFactory.newInstance().newTransformer();
DOMSource source = new DOMSource(temporaryDocument);
StreamResult result = new StreamResult(f);
tf.transform(source, result);
*/
assertTrue("XML documents are not equal",
compareXmlFiles(regressionFile, temporaryDocument));
}
@Test
public void testSelect01() throws Exception {
/* local variables to be passed */
String constraintFilePath = CONSTRAINT_DIRECTORY + "iterator/select01.ocl";
String[] objectTypeNames = { "Class1" };
TracerRoot tracedRoot;
tracedRoot =
getTraceFromInterpretation(MODEL1_PATH, INSTANCE1_PATH,
constraintFilePath, OclInterpreterTestPlugin.PLUGIN_ID,
objectTypeNames, Ocl2ForEclipseFacade.JAVA_META_MODEL,
Ocl2ForEclipseFacade.JAVA_MODEL_INSTANCE_TYPE);
/* Write the object to a file */
regressionFile =
AbstractTracerTest.getFile(
"resources/standardlibrary/select01_regression.xml",
TracerTestPlugin.PLUGIN_ID);
temporaryDocument = serializeTracerRoot(tracedRoot);
/*
File f = new File("resources/standardlibrary/sortedBy02_regression.xml");
Transformer tf = TransformerFactory.newInstance().newTransformer();
DOMSource source = new DOMSource(temporaryDocument);
StreamResult result = new StreamResult(f);
tf.transform(source, result);
*/
assertTrue("XML documents are not equal",
compareXmlFiles(regressionFile, temporaryDocument));
}
@Test
public void testSortedBy02() throws Exception {
/* local variables to be passed */
String constraintFilePath = CONSTRAINT_DIRECTORY + "iterator/sortedBy02.ocl";
String[] objectTypeNames = { "Class1" };
TracerRoot tracedRoot;
tracedRoot =
getTraceFromInterpretation(MODEL1_PATH, INSTANCE1_PATH,
constraintFilePath, OclInterpreterTestPlugin.PLUGIN_ID,
objectTypeNames, Ocl2ForEclipseFacade.JAVA_META_MODEL,
Ocl2ForEclipseFacade.JAVA_MODEL_INSTANCE_TYPE);
/* Write the object to a file */
regressionFile =
AbstractTracerTest.getFile(
"resources/standardlibrary/sortedBy02_regression.xml",
TracerTestPlugin.PLUGIN_ID);
temporaryDocument = serializeTracerRoot(tracedRoot);
/*
File f = new File("resources/standardlibrary/sortedBy02_regression.xml");
Transformer tf = TransformerFactory.newInstance().newTransformer();
DOMSource source = new DOMSource(temporaryDocument);
StreamResult result = new StreamResult(f);
tf.transform(source, result);
*/
assertTrue("XML documents are not equal",
compareXmlFiles(regressionFile, temporaryDocument));
}
}