package org.modeldriven.fuml.test.load; import java.io.File; import java.util.List; import junit.framework.Test; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.modeldriven.fuml.Fuml; import org.modeldriven.fuml.environment.Environment; import org.modeldriven.fuml.repository.Class_; import org.modeldriven.fuml.repository.Repository; import org.modeldriven.fuml.test.FUMLTest; import org.modeldriven.fuml.test.FUMLTestSetup; /** * */ public class LoadTestCase extends FUMLTest { private static Log log = LogFactory.getLog(LoadTestCase.class); private static Environment environment; // JUnit creates a new test class // for every test! private static String FILE_URI; public static Test suite() { return FUMLTestSetup.newTestSetup(LoadTestCase.class); } public void setUp() throws Exception { if (environment == null) { String filename = "./target/test-classes/mdxml/fUML-Load.mdxml"; File file = new File(filename); assertTrue("file '" + filename + "' does not exist", file.exists()); FILE_URI = "test/mdxml/fUML-Load.mdxml"; Fuml.loadIncrementally(file, FILE_URI); environment = Environment.getInstance(); } } public void testLoadOpaqueBehavior() throws Exception { log.info("testLoadOpaqueBehavior"); String qualifiedName = FILE_URI + "#" + "LoadBehaviorTest"; Class_ clss = (Class_) Repository.INSTANCE .findClassifier(qualifiedName); assertTrue("could not find class for, " + qualifiedName, clss != null); List<org.modeldriven.fuml.repository.model.OpaqueBehavior> behaviors = clss .getOpaqueBehaviors(); assertTrue("expected behaviors for class 'Package'", behaviors != null && behaviors.size() > 0); for (org.modeldriven.fuml.repository.model.OpaqueBehavior behavior : behaviors) { assertTrue("no body for behavior, " + behavior.getName(), behavior.getBody() != null && behavior.getBody().length() > 0); } } }