[virtualcommons-svn] commit/foraging: alllee: testing even distribution
Status: Beta
Brought to you by:
alllee
From: Bitbucket <com...@bi...> - 2012-02-28 02:28:25
|
1 new commit in foraging: https://bitbucket.org/virtualcommons/foraging/changeset/399e682aa7de/ changeset: 399e682aa7de user: alllee date: 2012-02-28 03:28:06 summary: testing even distribution affected #: 1 file diff -r 3f6c45f013754e0efd95406a289432aa2234aa98 -r 399e682aa7def771a90bda0b926eb4a901d1b2ab 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 @@ -3,11 +3,13 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; +import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Set; import org.junit.Before; import org.junit.Test; @@ -73,9 +75,8 @@ data.setVotedRule(votedRule); } Map<ForagingStrategy, Integer> votingResults = group.generateVotingResults(); - assertEquals("There should be 3 rules voted on, total" + votingResults, 3, votingResults.size()); + assertEquals("There should be 3 rules voted on, total: " + votingResults, 3, votingResults.size()); for (ForagingStrategy tieBreaker: tieBreakerRules) { - System.err.println("Inspecting tiebreaker: " + tieBreaker); assertEquals(2, votingResults.get(tieBreaker).intValue()); } assertTrue(tieBreakerRules.contains(group.getSelectedRule())); @@ -86,15 +87,27 @@ public void testImposedStrategyDistribution() { Map<Strategy, Integer> imposedStrategyDistribution = new HashMap<Strategy, Integer>(); // test all the same + Set<GroupDataModel> groups = serverDataModel.getGroups(); for (ForagingStrategy strategy: ForagingStrategy.values()) { imposedStrategyDistribution.clear(); imposedStrategyDistribution.put(strategy, numberOfGroups); serverDataModel.allocateImposedStrategyDistribution(imposedStrategyDistribution); - for (GroupDataModel group: serverDataModel.getGroups()) { + for (GroupDataModel group: groups) { assertEquals("mismatched imposed strategies", strategy, group.getImposedStrategy()); } } - + // test even distribution + imposedStrategyDistribution.clear(); + List<ForagingStrategy> strategies = new ArrayList<ForagingStrategy>(Arrays.asList(ForagingStrategy.values())); + Collections.shuffle(strategies); + for (ForagingStrategy strategy: strategies.subList(0, groups.size())) { + imposedStrategyDistribution.put(strategy, 1); + } + serverDataModel.allocateImposedStrategyDistribution(imposedStrategyDistribution); + for (GroupDataModel group: groups) { + assertEquals(Integer.valueOf(1), imposedStrategyDistribution.remove(group.getImposedStrategy())); + } + assertTrue(imposedStrategyDistribution.isEmpty()); } } 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. |