[virtualcommons-svn] commit/foraging: alllee: pushing addMessage inside a Swing Worker thread and u
Status: Beta
Brought to you by:
alllee
From: Bitbucket <com...@bi...> - 2012-02-28 01:54:23
|
1 new commit in foraging: https://bitbucket.org/virtualcommons/foraging/changeset/3fd2a69162de/ changeset: 3fd2a69162de user: alllee date: 2012-02-28 02:54:03 summary: pushing addMessage inside a Swing Worker thread and updating tests affected #: 3 files diff -r 1450271cae0fcddcbcf17383d826f9b1155d776e -r 3fd2a69162deea9948ea1d7379db06c830579608 src/main/java/edu/asu/commons/foraging/facilitator/FacilitatorWindow.java --- a/src/main/java/edu/asu/commons/foraging/facilitator/FacilitatorWindow.java +++ b/src/main/java/edu/asu/commons/foraging/facilitator/FacilitatorWindow.java @@ -29,6 +29,7 @@ import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JSplitPane; +import javax.swing.SwingUtilities; import javax.swing.text.BadLocationException; import edu.asu.commons.foraging.conf.RoundConfiguration; @@ -388,18 +389,22 @@ public void configureForReplay() { // Enable the replay menus loadExperimentMenuItem.setEnabled(true); - // Disable all other menus startRoundMenuItem.setEnabled(false); stopRoundMenuItem.setEnabled(false); } - public void addMessage(String message) { - try { - messageEditorPane.getDocument().insertString(0, "-----\n" + message + "\n", null); - } catch (BadLocationException exception) { - exception.printStackTrace(); - } + public void addMessage(final String message) { + SwingUtilities.invokeLater(new Runnable() { + public void run() { + try { + messageEditorPane.getDocument().insertString(0, "-----\n" + message + "\n", null); + messageEditorPane.setCaretPosition(0); + } catch (BadLocationException exception) { + exception.printStackTrace(); + } + } + }); } public void quizCompleted(QuizCompletedEvent event) { diff -r 1450271cae0fcddcbcf17383d826f9b1155d776e -r 3fd2a69162deea9948ea1d7379db06c830579608 src/test/java/edu/asu/commons/foraging/conf/RoundConfigurationTest.java --- a/src/test/java/edu/asu/commons/foraging/conf/RoundConfigurationTest.java +++ b/src/test/java/edu/asu/commons/foraging/conf/RoundConfigurationTest.java @@ -1,10 +1,13 @@ package edu.asu.commons.foraging.conf; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + import org.junit.Before; import org.junit.Test; import edu.asu.commons.net.Identifier; -import static org.junit.Assert.*; +import edu.asu.commons.net.MockIdentifier; public class RoundConfigurationTest { @@ -25,8 +28,7 @@ assertTrue(uninterpolatedInstructions.contains("}")); assertFalse(uninterpolatedInstructions.contains("http://")); - @SuppressWarnings("rawtypes") - Identifier id = new Identifier.Base() { + Identifier id = new MockIdentifier() { private static final long serialVersionUID = 1231310402707042800L; public String getSurveyId() { return SURVEY_ID; diff -r 1450271cae0fcddcbcf17383d826f9b1155d776e -r 3fd2a69162deea9948ea1d7379db06c830579608 src/test/java/edu/asu/commons/foraging/model/GroupDataModelTest.java --- a/src/test/java/edu/asu/commons/foraging/model/GroupDataModelTest.java +++ b/src/test/java/edu/asu/commons/foraging/model/GroupDataModelTest.java @@ -1,7 +1,11 @@ package edu.asu.commons.foraging.model; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + import java.util.Arrays; import java.util.Collections; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -9,13 +13,14 @@ import org.junit.Test; import edu.asu.commons.foraging.conf.RoundConfiguration; +import edu.asu.commons.foraging.rules.Strategy; import edu.asu.commons.foraging.rules.iu.ForagingStrategy; -import edu.asu.commons.net.Identifier; -import static org.junit.Assert.*; +import edu.asu.commons.net.MockIdentifier; public class GroupDataModelTest { private ServerDataModel serverDataModel; + private int numberOfParticipants = 15; @Before public void setUp() { @@ -23,10 +28,8 @@ RoundConfiguration configuration = new RoundConfiguration(); configuration.setProperty("clients-per-group", "5"); serverDataModel.setRoundConfiguration(configuration); - for (int i = 0; i < 10; i++) { - Identifier id = new Identifier.Base() { - }; - serverDataModel.addClient(new ClientData(id)); + for (int i = 0; i < numberOfParticipants; i++) { + serverDataModel.addClient(new ClientData(new MockIdentifier())); } } @@ -69,5 +72,20 @@ assertTrue(tieBreakerRules.contains(group.getSelectedRule())); } } + + @Test + public void testImposedStrategyDistribution() { + int numberOfGroups = numberOfParticipants / serverDataModel.getRoundConfiguration().getClientsPerGroup(); + Map<Strategy, Integer> imposedStrategyDistribution = new HashMap<Strategy, Integer>(); + // test all the same + for (ForagingStrategy strategy: ForagingStrategy.values()) { + imposedStrategyDistribution.put(strategy, numberOfGroups); + serverDataModel.allocateImposedStrategyDistribution(imposedStrategyDistribution); + for (GroupDataModel group: serverDataModel.getGroups()) { + assertEquals("mismatched imposed strategies", strategy, group.getImposedStrategy()); + } + } + + } } Repository URL: https://bitbucket.org/virtualcommons/foraging/ -- This is a commit notification from bitbucket.org. You are receiving this because you have the service enabled, addressing the recipient of this email. |