svn commit: r14386 - trunk/src/app/tests/org/argouml/model/TestStateMachinesHelper.java
[email protected] 19 Apr 2008 04:07:58 -0000
Newsgroups
gmane.comp.lang.uml.argouml.cvs
Message-ID
<[email protected] >
Author: tfmorris
Date: 2008-04-18 21:07:57-0700
New Revision: 14386
Modified:
trunk/src/app/tests/org/argouml/model/TestStateMachinesHelper.java
Log:
Add tests for code I'm about to touch
Modified: trunk/src/app/tests/org/argouml/model/TestStateMachinesHelper.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/app/tests/org/argouml/model/TestStateMachinesHelper.java?view=diff&rev=14386&p1=trunk/src/app/tests/org/argouml/model/TestStateMachinesHelper.java&p2=trunk/src/app/tests/org/argouml/model/TestStateMachinesHelper.java&r1=14385&r2=14386
==============================================================================
--- trunk/src/app/tests/org/argouml/model/TestStateMachinesHelper.java (original)
+++ trunk/src/app/tests/org/argouml/model/TestStateMachinesHelper.java 2008-04-18 21:07:57-0700
@@ -24,6 +24,10 @@
package org.argouml.model;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+
import junit.framework.TestCase;
/**
@@ -65,4 +69,42 @@
Model.getStateMachinesFactory(),
TestStateMachinesFactory.getTestableModelElements());
}
+
+ public void testCompositeStates() {
+ Object model = Model.getModelManagementFactory().createModel();
+ Object classifier = Model.getCoreFactory().buildClass(model);
+ Object machine = Model.getStateMachinesFactory().buildStateMachine(classifier);
+ Object composite = Model.getStateMachinesFactory().createCompositeState();
+ Object state1 = Model.getStateMachinesFactory().createCompositeState();
+ Object state2 = Model.getStateMachinesFactory().createCompositeState();
+
+ Model.getStateMachinesHelper().addSubvertex(composite, state1);
+ Model.getStateMachinesHelper().addSubvertex(composite, state2);
+ assertEquals("Wrong number of subvertices ", 2,
+ Model.getFacade().getSubvertices(composite).size());
+ Model.getStateMachinesHelper().removeSubvertex(composite, state1);
+ assertEquals("Wrong number of subvertices ", 1,
+ Model.getFacade().getSubvertices(composite).size());
+ Model.getStateMachinesHelper().setSubvertices(composite,
+ Collections.emptySet());
+ assertEquals("Wrong number of subvertices ", 0,
+ Model.getFacade().getSubvertices(composite).size());
+ Collection subs = new ArrayList();
+ subs.add(state1);
+ subs.add(state2);
+ Model.getStateMachinesHelper().setSubvertices(composite, subs);
+ assertEquals("Wrong number of subvertices ", 2,
+ Model.getFacade().getSubvertices(composite).size());
+
+ Object event = Model.getStateMachinesFactory().createCallEvent();
+ Model.getStateMachinesHelper().addDeferrableEvent(composite, event);
+
+ Collection events = Model.getFacade().getDeferrableEvents(composite);
+ assertEquals("Wrong number of deferrable events", 1, events.size());
+ assertTrue("deferable events doesn't contain our event", events
+ .contains(event));
+
+ Model.getUmlFactory().delete(model);
+
+ }
}