svn commit: r15257 - trunk/src/argouml-app/tests/org/argouml/model

[email protected]
Newsgroups gmane.comp.lang.uml.argouml.cvs
Message-ID <[email protected]>
Author: tfmorris
Date: 2008-07-13 12:23:11-0700
New Revision: 15257

Modified:
   trunk/src/argouml-app/tests/org/argouml/model/TestStateMachinesFactory.java
   trunk/src/argouml-app/tests/org/argouml/model/TestUseCasesFactory.java

Log:
Issue 5227: Implemented workaround for MDR bug which causes Guard to not be deleted with owning Transition

Modified: trunk/src/argouml-app/tests/org/argouml/model/TestStateMachinesFactory.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/tests/org/argouml/model/TestStateMachinesFactory.java?view=diff&rev=15257&p1=trunk/src/argouml-app/tests/org/argouml/model/TestStateMachinesFactory.java&p2=trunk/src/argouml-app/tests/org/argouml/model/TestStateMachinesFactory.java&r1=15256&r2=15257
==============================================================================
--- trunk/src/argouml-app/tests/org/argouml/model/TestStateMachinesFactory.java	(original)
+++ trunk/src/argouml-app/tests/org/argouml/model/TestStateMachinesFactory.java	2008-07-13 12:23:11-0700
@@ -30,11 +30,19 @@
 
 import junit.framework.TestCase;
 
+import org.argouml.kernel.Project;
+import org.argouml.kernel.ProjectManager;
+import org.argouml.profile.init.InitProfileSubsystem;
+
 /**
  * Test the StateMachinesFactory class.
  *
  */
 public class TestStateMachinesFactory extends TestCase {
+    private Object aClass;
+    private Object aStateMachine;
+    private Object aState;
+
     /**
      * Model elements to test.
      */
@@ -109,6 +117,34 @@
         CheckUMLModelHelper.createAndRelease(
                 Model.getStateMachinesFactory(), getTestableModelElements());
     }
-
+    
+    /**
+     * Test issue 5227: Guard not deleted with Transition.
+     */
+    public void testDeleteTransition()  {
+        new InitProfileSubsystem().init();
+        Project p = ProjectManager.getManager().getCurrentProject();
+        Object model =
+            Model.getModelManagementFactory().createModel();
+        aClass = Model.getCoreFactory().buildClass(model);
+        Object returnType = p.getDefaultReturnType();
+        Model.getCoreFactory().buildOperation2(aClass, returnType, "myOper");
+        aStateMachine =
+            Model.getStateMachinesFactory().buildStateMachine(aClass);
+        Object top = Model.getFacade().getTop(aStateMachine);
+        aState = Model.getStateMachinesFactory().buildCompositeState(top);
+        Object internalTransition =
+            Model.getStateMachinesFactory().buildInternalTransition(aState);
+        Object guard = 
+            Model.getStateMachinesFactory().buildGuard(internalTransition);
+        Object effect = 
+            Model.getCommonBehaviorFactory().createUninterpretedAction();
+        Model.getStateMachinesHelper().setEffect(internalTransition, effect);
+        Model.getUmlFactory().delete(aStateMachine);
+        assertTrue("Effect action not deleted with Transition", 
+                Model.getUmlFactory().isRemoved(effect));
+        assertTrue("Guard not deleted with Transition", 
+                Model.getUmlFactory().isRemoved(guard));
+    }
 
 }

Modified: trunk/src/argouml-app/tests/org/argouml/model/TestUseCasesFactory.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/tests/org/argouml/model/TestUseCasesFactory.java?view=diff&rev=15257&p1=trunk/src/argouml-app/tests/org/argouml/model/TestUseCasesFactory.java&p2=trunk/src/argouml-app/tests/org/argouml/model/TestUseCasesFactory.java&r1=15256&r2=15257
==============================================================================
--- trunk/src/argouml-app/tests/org/argouml/model/TestUseCasesFactory.java	(original)
+++ trunk/src/argouml-app/tests/org/argouml/model/TestUseCasesFactory.java	2008-07-13 12:23:11-0700
@@ -108,10 +108,15 @@
         Object extend = Model.getUseCasesFactory()
             	.buildExtend(base, extension, point);
         assertTrue("extend not added to extension",
-		   Model.getFacade().getExtends(extension).contains(extend));
+                Model.getFacade().getExtends(extension).contains(extend));
         assertTrue("extend not added to correct extensionpoint",
 		   (Model.getFacade().getExtensionPoints(extend).contains(point)
 		 && Model.getFacade().getExtensionPoints(extend).size() == 1));
+        Model.getUmlFactory().delete(base);
+        assertTrue("ExtensionPoint not deleted with base UseCase", 
+                Model.getUmlFactory().isRemoved(point));
+        assertTrue("Extend not deleted with its UseCase", 
+                Model.getUmlFactory().isRemoved(extend));
     }
     
     public void testGetAll() {
@@ -148,5 +153,6 @@
         
     }
 
+
 }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.