package org.bundlemaker.core.itestframework.internal.compare; import java.io.ByteArrayInputStream; import java.io.File; import java.io.InputStream; import java.text.SimpleDateFormat; import java.util.Date; import org.bundlemaker.core.analysis.IBundleMakerArtifact; import org.bundlemaker.core.itestframework.utils.BundleMakerTestUtils; import org.bundlemaker.core.resource.IModularizedSystem; import org.eclipse.core.runtime.CoreException; import org.junit.Assert; import org.junit.Before; /** * <p> * </p> * * @author Gerd Wütherich (gerd@gerd-wuetherich.de) */ public abstract class AbstractModularizedSystemTest { /** - */ private IModularizedSystem _modularizedSystem; /** * <p> * </p> */ protected void log(String message) { System.out.println(String.format("[%s] %s", this.getClass().getName(), message)); } /** * <p> * </p> * * @return */ public IModularizedSystem getModularizedSystem() { return _modularizedSystem; } @Before public void before() throws CoreException { } /** * <p> * </p> * * @param node * @param type * @param nodeName * @param parentName */ protected void assertNode(IBundleMakerArtifact node, Class<?> type, String nodeName, String parentName) { Assert.assertTrue(String.format("Node '%s' has to be assignable from %s", node, type), type.isAssignableFrom(node.getClass())); Assert.assertEquals(nodeName, node.getName()); Assert.assertNotNull(node.getParent()); Assert.assertEquals(parentName, node.getParent().getName()); } /** * <p> * </p> * * @param node * @param type * @param nodeName */ protected void assertNode(IBundleMakerArtifact node, Class<?> type, String nodeName) { Assert.assertTrue(String.format("Node '%s' has to be assignable from %s", node, type), type.isAssignableFrom(node.getClass())); Assert.assertEquals(nodeName, node.getName()); Assert.assertNotNull(node.getParent()); } /** * <p> * </p> * * @param modularizedSystem * @param resourceModule * @param expectedResult * @throws Exception */ protected static void assertResult(String dumpedModel, InputStream expected, String resultFileName) { Assert.assertNotNull(dumpedModel); Assert.assertNotNull(expected); Assert.assertNotNull(resultFileName); // actual File actual = new File(System.getProperty("user.dir"), "result" + File.separatorChar + resultFileName + ".txt"); StringBuilder builder = new StringBuilder(); builder.append(dumpedModel); BundleMakerTestUtils.writeToFile(builder.toString(), actual); // htmlReport String name = actual.getAbsolutePath(); name = name.substring(0, name.length() - ".txt".length()) + ".html"; File htmlReport = new File(name); // assert FileDiffUtil.assertArtifactModel(expected, new ByteArrayInputStream(dumpedModel.getBytes()), htmlReport); // actual.delete(); } /** * <p> * </p> * * @return */ protected static String getCurrentTimeStamp() { return new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss").format(new Date()); } }