Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/strategy/GateActivityStrategy.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/learningdesign/strategy/GateActivityStrategy.java,v diff -u -r1.2 -r1.3 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/strategy/GateActivityStrategy.java 6 Apr 2005 07:34:45 -0000 1.2 +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/strategy/GateActivityStrategy.java 6 Apr 2005 23:33:59 -0000 1.3 @@ -69,7 +69,9 @@ } } - + //always clear waiting list if the gate is already opened. + else + activity.getWaitingLearners().clear(); return activity.getGateOpen().booleanValue(); } Index: lams_common/test/java/org/lamsfoundation/lams/learningdesign/TestGateActivityStrategy.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/test/java/org/lamsfoundation/lams/learningdesign/Attic/TestGateActivityStrategy.java,v diff -u -r1.1 -r1.2 --- lams_common/test/java/org/lamsfoundation/lams/learningdesign/TestGateActivityStrategy.java 6 Apr 2005 07:34:45 -0000 1.1 +++ lams_common/test/java/org/lamsfoundation/lams/learningdesign/TestGateActivityStrategy.java 6 Apr 2005 23:34:00 -0000 1.2 @@ -25,6 +25,7 @@ import java.util.ArrayList; import java.util.List; +import org.apache.log4j.Logger; import org.lamsfoundation.lams.usermanagement.User; import junit.framework.TestCase; @@ -39,7 +40,13 @@ */ public class TestGateActivityStrategy extends TestCase { - private GateActivity schduleGate = new ScheduleGateActivity(); + //--------------------------------------------------------------------- + // Instance variables + //--------------------------------------------------------------------- + private static Logger log = Logger.getLogger(TestGateActivityStrategy.class); + + + private GateActivity scheduleGate = new ScheduleGateActivity(); private GateActivity permissionGate = new PermissionGateActivity(); private GateActivity synchGate = new SynchGateActivity(); @@ -65,7 +72,7 @@ super.tearDown(); } - public void testShouldCloseSynchGateForTestLearner() + public void testShouldCloseSynchGate() { User testLearner = createUser(new Integer(TEST_USER_ID),"tester"+TEST_USER_ID);; boolean gateOpen = synchGate.shouldOpenGateFor(testLearner,testLessonUsers); @@ -74,7 +81,7 @@ assertEquals("there should be one learner",1,synchGate.getWaitingLearners().size()); } - public void testShouldOpenSynchGateForTestLearner() + public void testShouldOpenSynchGate() { //create the number of learner that is the same as the number of all //lesson learners. @@ -84,21 +91,68 @@ testLearners.add(createUser(new Integer(i+1),"tester"+i)); boolean gateOpen = false; - //learners arrived at synch gate one by one. + //learners arrived at synch gate one by one until the open condition + //is met. for(int i =0; i