package org.dresdenocl.tracer.test.constraintkinds; 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 ConstraintKindTracerTest extends AbstractTracerTest { private static final String CONSTRAINT_DIRECTORY = "resources/constraints/constraintkind/"; @BeforeClass public static void setUp() throws Exception { AbstractTracerTest.setUp(); } @AfterClass public static void tearDown() { AbstractTracerTest.tearDown(); } @Test public void testBody01() throws Exception { /* local variables to be passed */ String constraintFilePath = CONSTRAINT_DIRECTORY + "body/body01.ocl"; String[] objectTypeNames = { "Class2" }; TracerRoot tracedRoot; tracedRoot = getTraceFromInterpretation(MODEL2_PATH, INSTANCE4_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/constraintkind/body01_regression.xml", TracerTestPlugin.PLUGIN_ID); temporaryDocument = serializeTracerRoot(tracedRoot); /* File f = new File("resources/constraintkind/body01_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 testDef01() throws Exception { /* local variables to be passed */ String constraintFilePath = CONSTRAINT_DIRECTORY + "def/def01.ocl"; String[] objectTypeNames = { "Class2" }; TracerRoot tracedRoot; tracedRoot = getTraceFromInterpretation(MODEL2_PATH, INSTANCE4_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/constraintkind/def01_regression.xml", TracerTestPlugin.PLUGIN_ID); temporaryDocument = serializeTracerRoot(tracedRoot); /* File f = new File("resources/constraintkind/def01_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 testDerive01() throws Exception { /* local variables to be passed */ String constraintFilePath = CONSTRAINT_DIRECTORY + "derive/derive01.ocl"; String[] objectTypeNames = { "Class2" }; TracerRoot tracedRoot; tracedRoot = getTraceFromInterpretation(MODEL2_PATH, INSTANCE4_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/constraintkind/derive01_regression.xml", TracerTestPlugin.PLUGIN_ID); temporaryDocument = serializeTracerRoot(tracedRoot); /* File f = new File("resources/constraintkind/derive01_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 testDerive02() throws Exception { /* local variables to be passed */ String constraintFilePath = CONSTRAINT_DIRECTORY + "derive/derive02.ocl"; String[] objectTypeNames = { "Class2" }; TracerRoot tracedRoot; tracedRoot = getTraceFromInterpretation(MODEL2_PATH, INSTANCE4_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/constraintkind/derive02_regression.xml", TracerTestPlugin.PLUGIN_ID); temporaryDocument = serializeTracerRoot(tracedRoot); /* File f = new File("resources/constraintkind/derive02_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 testInit01() throws Exception { /* local variables to be passed */ String constraintFilePath = CONSTRAINT_DIRECTORY + "initial/init01.ocl"; String[] objectTypeNames = { "Class2" }; TracerRoot tracedRoot; tracedRoot = getTraceFromInterpretation(MODEL2_PATH, INSTANCE4_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/constraintkind/init01_regression.xml", TracerTestPlugin.PLUGIN_ID); temporaryDocument = serializeTracerRoot(tracedRoot); /* File f = new File("resources/constraintkind/init01_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 testInit02_01() throws Exception { /* local variables to be passed */ String constraintFilePath = CONSTRAINT_DIRECTORY + "initial/init02.ocl"; String[] objectTypeNames = { "Class2" }; TracerRoot tracedRoot; tracedRoot = getTraceFromInterpretation(MODEL2_PATH, INSTANCE4_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/constraintkind/init02_01_regression.xml", TracerTestPlugin.PLUGIN_ID); temporaryDocument = serializeTracerRoot(tracedRoot); /* File f = new File("resources/constraintkind/init02_01_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 testInit02_02() throws Exception { /* local variables to be passed */ String constraintFilePath = CONSTRAINT_DIRECTORY + "initial/init02.ocl"; String[] objectTypeNames = { "Class2" }; TracerRoot tracedRoot; tracedRoot = getTraceFromInterpretation(MODEL2_PATH, INSTANCE5_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/constraintkind/init02_02_regression.xml", TracerTestPlugin.PLUGIN_ID); temporaryDocument = serializeTracerRoot(tracedRoot); /* File f = new File("resources/constraintkind/init02_02_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)); } }