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.