Author: tfmorris
Date: 2008-04-14 16:07:05-0700
New Revision: 14348

Modified:
   trunk/src/app/tests/org/argouml/kernel/TestProject.java

Log:
Issue 4948 - Test from Bob to check for model elements not being completely 
deleted on project remove

Modified: trunk/src/app/tests/org/argouml/kernel/TestProject.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/app/tests/org/argouml/kernel/TestProject.java?view=diff&rev=14348&p1=trunk/src/app/tests/org/argouml/kernel/TestProject.java&p2=trunk/src/app/tests/org/argouml/kernel/TestProject.java&r1=14347&r2=14348
==============================================================================
--- trunk/src/app/tests/org/argouml/kernel/TestProject.java     (original)
+++ trunk/src/app/tests/org/argouml/kernel/TestProject.java     2008-04-14 
16:07:05-0700
@@ -24,6 +24,8 @@
 
 package org.argouml.kernel;
 
+import java.io.File;
+import java.net.URL;
 import java.util.Collection;
 
 import junit.framework.TestCase;
@@ -31,11 +33,17 @@
 
 import org.argouml.i18n.Translator;
 import org.argouml.model.Model;
+import org.argouml.notation.InitNotation;
+import org.argouml.notation.providers.java.InitNotationJava;
+import org.argouml.notation.providers.uml.InitNotationUml;
+import org.argouml.persistence.AbstractFilePersister;
+import org.argouml.persistence.PersistenceManager;
 import org.argouml.profile.init.InitProfileSubsystem;
 import org.argouml.ui.targetmanager.TargetManager;
 import org.argouml.uml.diagram.activity.ui.UMLActivityDiagram;
 import org.argouml.uml.diagram.state.ui.UMLStateDiagram;
 import org.argouml.uml.diagram.static_structure.ui.UMLClassDiagram;
+import org.argouml.uml.diagram.ui.InitDiagramAppearanceUI;
 
 
 /**
@@ -66,6 +74,36 @@
     }
 
     /**
+     * Test remove() function. This is called when a new project is created to
+     * remove the old project. We confirm here that the users model has been
+     * emptied and that no none 'Model' model elements are at root.
+     * @throws Exception
+     */
+    public void testRemove() throws Exception {
+        String name = "/testmodels/uml14/Alittlebitofeverything.zargo";
+        URL url = TestProject.class.getResource(name);
+        AbstractFilePersister persister =
+            PersistenceManager.getInstance().getPersisterFromFileName(name);
+        String filename = url.getFile();
+        Project p = persister.doLoad(new File(filename));
+        
+        p.remove();
+        
+        for (Object root : Model.getFacade().getRootElements()) {
+            assertTrue(
+                    "All roots should be a Model",
+                    Model.getFacade().isAModel(root));
+            System.out.println(Model.getFacade().getName(root) + " "
+                    + Model.getFacade().getOwnedElements(root).size());
+            if (Model.getFacade().getName(root).equals("untitledModel")) {
+                assertEquals(
+                        "All root models should be empty", 0, 
+                        Model.getFacade().getOwnedElements(root).size());
+            }
+        }
+    }
+
+    /**
      * Test the moveToTrash function for package and content.
      */
     public void testTrashcanPackageContent() {
@@ -474,6 +512,10 @@
         super.setUp();
         InitializeModel.initializeDefault();
         ProjectManager.getManager().setCurrentProject(null);
-        new InitProfileSubsystem().init();
+        (new InitNotation()).init();
+        (new InitNotationUml()).init();
+        (new InitNotationJava()).init();
+        (new InitDiagramAppearanceUI()).init();
+        (new InitProfileSubsystem()).init();
     }
 }

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to