Implement hand auto-sort
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@205 72836036-5685-4462-b002-a69064685172
This commit is contained in:
parent
8a3439f736
commit
56b75e037a
3 changed files with 183 additions and 73 deletions
|
@ -112,10 +112,9 @@ public class TurnControlTest {
|
|||
public void showInitialHand() {
|
||||
mockView.displayStartTurnPanel = true;
|
||||
|
||||
List<Pair<Stone, Position>> stones = Arrays
|
||||
.asList(new Pair<Stone, Position>(new Stone(RED), new Position(
|
||||
0, 0)), new Pair<Stone, Position>(new Stone(BLACK),
|
||||
new Position(1, 0)));
|
||||
List<Pair<Stone, Position>> stones = Arrays.asList(
|
||||
new Pair<Stone, Position>(new Stone(RED), new Position(0, 0)),
|
||||
new Pair<Stone, Position>(new Stone(BLACK), new Position(1, 0)));
|
||||
|
||||
mockHand.iterable = stones;
|
||||
|
||||
|
@ -241,8 +240,8 @@ public class TurnControlTest {
|
|||
mockView.playerPanel.handPanel.stoneClickEvent.emit(firstStone, true);
|
||||
mockView.playerPanel.handPanel.stoneClickEvent.emit(secondStone, true);
|
||||
|
||||
mockView.tablePanel.stoneCollectionPanel.stoneClickEvent.emit(
|
||||
firstStone, false);
|
||||
mockView.tablePanel.stoneCollectionPanel.stoneClickEvent.emit(firstStone,
|
||||
false);
|
||||
|
||||
assertCollection(Arrays.asList(secondStone));
|
||||
}
|
||||
|
@ -257,8 +256,8 @@ public class TurnControlTest {
|
|||
mockView.playerPanel.handPanel.stoneClickEvent.emit(firstStone, true);
|
||||
mockView.playerPanel.handPanel.stoneClickEvent.emit(secondStone, true);
|
||||
|
||||
mockView.tablePanel.stoneCollectionPanel.stoneClickEvent.emit(
|
||||
firstStone, true);
|
||||
mockView.tablePanel.stoneCollectionPanel.stoneClickEvent.emit(firstStone,
|
||||
true);
|
||||
|
||||
assertCollection(Arrays.asList(secondStone, firstStone));
|
||||
}
|
||||
|
@ -273,8 +272,8 @@ public class TurnControlTest {
|
|||
mockView.playerPanel.handPanel.stoneClickEvent.emit(firstStone, true);
|
||||
mockView.playerPanel.handPanel.stoneClickEvent.emit(secondStone, true);
|
||||
|
||||
mockView.tablePanel.stoneCollectionPanel.stoneClickEvent.emit(
|
||||
firstStone, true);
|
||||
mockView.tablePanel.stoneCollectionPanel.stoneClickEvent.emit(firstStone,
|
||||
true);
|
||||
|
||||
mockView.tablePanel.stoneCollectionPanel.setClickEvent.emit(firstStone,
|
||||
true);
|
||||
|
@ -376,8 +375,7 @@ public class TurnControlTest {
|
|||
Stone stone2 = new Stone(2, StoneColor.RED);
|
||||
Stone stone3 = new Stone(3, StoneColor.RED);
|
||||
Stone stone4 = new Stone(4, StoneColor.RED);
|
||||
StoneSet set1 = new StoneSet(Arrays.asList(stone1, stone2, stone3,
|
||||
stone4));
|
||||
StoneSet set1 = new StoneSet(Arrays.asList(stone1, stone2, stone3, stone4));
|
||||
|
||||
mockTable.findStoneSet.put(stone1, set1);
|
||||
mockTable.findStoneSet.put(stone3, set1);
|
||||
|
@ -397,8 +395,7 @@ public class TurnControlTest {
|
|||
Stone stone2 = new Stone(2, StoneColor.RED);
|
||||
Stone stone3 = new Stone(3, StoneColor.RED);
|
||||
Stone stone4 = new Stone(4, StoneColor.RED);
|
||||
StoneSet set1 = new StoneSet(Arrays.asList(stone1, stone2, stone3,
|
||||
stone4));
|
||||
StoneSet set1 = new StoneSet(Arrays.asList(stone1, stone2, stone3, stone4));
|
||||
|
||||
mockTable.findStoneSet.put(stone1, set1);
|
||||
mockTable.findStoneSet.put(stone3, set1);
|
||||
|
@ -420,8 +417,7 @@ public class TurnControlTest {
|
|||
Stone stone2 = new Stone(2, StoneColor.RED);
|
||||
Stone stone3 = new Stone(3, StoneColor.RED);
|
||||
Stone stone4 = new Stone(4, StoneColor.RED);
|
||||
StoneSet set1 = new StoneSet(Arrays.asList(stone1, stone2, stone3,
|
||||
stone4));
|
||||
StoneSet set1 = new StoneSet(Arrays.asList(stone1, stone2, stone3, stone4));
|
||||
|
||||
mockTable.findStoneSet.put(stone1, set1);
|
||||
mockTable.findStoneSet.put(stone3, set1);
|
||||
|
@ -608,10 +604,10 @@ public class TurnControlTest {
|
|||
Stone blackThree = new Stone(3, BLACK);
|
||||
Stone blackFour = new Stone(4, BLACK);
|
||||
Stone blackFive = new Stone(5, BLACK);
|
||||
StoneSet oldSet1 = new StoneSet(Arrays.asList(blueOne, redOne,
|
||||
blackOne, redTwo, redThree, redFour, blackTwo, blackThree));
|
||||
StoneSet oldSet2 = new StoneSet(Arrays.asList(blueTwo, blackFour,
|
||||
blackFive));
|
||||
StoneSet oldSet1 = new StoneSet(Arrays.asList(blueOne, redOne, blackOne,
|
||||
redTwo, redThree, redFour, blackTwo, blackThree));
|
||||
StoneSet oldSet2 = new StoneSet(
|
||||
Arrays.asList(blueTwo, blackFour, blackFive));
|
||||
table.drop(oldSet1, new Position(0, 0));
|
||||
table.drop(oldSet2, new Position(0, 0));
|
||||
mockHand.drop(blueThree, new Position(0, 0));
|
||||
|
@ -724,10 +720,10 @@ public class TurnControlTest {
|
|||
Stone blackThree = new Stone(3, BLACK);
|
||||
Stone blackFour = new Stone(4, BLACK);
|
||||
Stone blackFive = new Stone(5, BLACK);
|
||||
StoneSet oldSet1 = new StoneSet(Arrays.asList(blueOne, redOne,
|
||||
blackOne, redTwo, redThree, redFour, blackTwo, blackThree));
|
||||
StoneSet oldSet2 = new StoneSet(Arrays.asList(blueTwo, blackFour,
|
||||
blackFive));
|
||||
StoneSet oldSet1 = new StoneSet(Arrays.asList(blueOne, redOne, blackOne,
|
||||
redTwo, redThree, redFour, blackTwo, blackThree));
|
||||
StoneSet oldSet2 = new StoneSet(
|
||||
Arrays.asList(blueTwo, blackFour, blackFive));
|
||||
table.drop(oldSet1, new Position(0, 0));
|
||||
table.drop(oldSet2, new Position(0, 0));
|
||||
mockHand.drop(blueThree, new Position(0, 0));
|
||||
|
@ -840,10 +836,10 @@ public class TurnControlTest {
|
|||
Stone blackThree = new Stone(3, BLACK);
|
||||
Stone blackFour = new Stone(4, BLACK);
|
||||
Stone blackFive = new Stone(5, BLACK);
|
||||
StoneSet oldSet1 = new StoneSet(Arrays.asList(blueOne, redOne,
|
||||
blackOne, redTwo, redThree, redFour, blackTwo, blackThree));
|
||||
StoneSet oldSet2 = new StoneSet(Arrays.asList(blueTwo, blackFour,
|
||||
blackFive));
|
||||
StoneSet oldSet1 = new StoneSet(Arrays.asList(blueOne, redOne, blackOne,
|
||||
redTwo, redThree, redFour, blackTwo, blackThree));
|
||||
StoneSet oldSet2 = new StoneSet(
|
||||
Arrays.asList(blueTwo, blackFour, blackFive));
|
||||
table.drop(oldSet1, new Position(0, 0));
|
||||
table.drop(oldSet2, new Position(0, 0));
|
||||
mockHand.drop(blueThree, new Position(0, 0));
|
||||
|
@ -910,9 +906,11 @@ public class TurnControlTest {
|
|||
checkTableDisplay(table);
|
||||
checkHandDisplay(mockHand);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testSortByGroups() {
|
||||
testControl.startTurn();
|
||||
|
||||
Stone red1 = new Stone(1, StoneColor.RED);
|
||||
Stone blue2 = new Stone(2, StoneColor.BLUE);
|
||||
Stone red4 = new Stone(4, StoneColor.RED);
|
||||
|
@ -939,22 +937,25 @@ public class TurnControlTest {
|
|||
mockHand.drop(orange13, new Position(0, 0));
|
||||
mockHand.drop(red11, new Position(0, 0));
|
||||
mockHand.drop(black10, new Position(0, 0));
|
||||
|
||||
|
||||
mockView.playerPanel.sortByGroupsEvent.emit();
|
||||
|
||||
List<Pair<Stone, Position>> stones = new ArrayList<Pair<Stone, Position>>(mockHand.stones);
|
||||
|
||||
List<Pair<Stone, Position>> stones = new ArrayList<Pair<Stone, Position>>(
|
||||
mockHand.stones);
|
||||
Collections.sort(stones, new TurnControl.HandStonePositionComparator());
|
||||
|
||||
|
||||
assertEquals(stones.size(), 13);
|
||||
|
||||
|
||||
assertSame(stones.get(0).getFirst(), blue1);
|
||||
assertSame(stones.get(1).getFirst(), red1);
|
||||
assertSame(stones.get(2).getFirst(), blue2);
|
||||
assertSame(stones.get(3).getFirst(), red3);
|
||||
|
||||
assertTrue(stones.get(4).getFirst() == blue4 || stones.get(4).getFirst() == blue4a);
|
||||
assertTrue(stones.get(5).getFirst() == blue4 || stones.get(5).getFirst() == blue4a);
|
||||
|
||||
|
||||
assertTrue(stones.get(4).getFirst() == blue4
|
||||
|| stones.get(4).getFirst() == blue4a);
|
||||
assertTrue(stones.get(5).getFirst() == blue4
|
||||
|| stones.get(5).getFirst() == blue4a);
|
||||
|
||||
assertSame(stones.get(6).getFirst(), red4);
|
||||
assertSame(stones.get(7).getFirst(), black5);
|
||||
assertSame(stones.get(8).getFirst(), black10);
|
||||
|
@ -962,10 +963,14 @@ public class TurnControlTest {
|
|||
assertSame(stones.get(10).getFirst(), red11);
|
||||
assertSame(stones.get(11).getFirst(), orange13);
|
||||
assertSame(stones.get(12).getFirst(), joker);
|
||||
|
||||
checkHandDisplay(mockHand);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testSortByRuns() {
|
||||
testControl.startTurn();
|
||||
|
||||
Stone red1 = new Stone(1, StoneColor.RED);
|
||||
Stone blue2 = new Stone(2, StoneColor.BLUE);
|
||||
Stone red4 = new Stone(4, StoneColor.RED);
|
||||
|
@ -992,28 +997,33 @@ public class TurnControlTest {
|
|||
mockHand.drop(orange13, new Position(0, 0));
|
||||
mockHand.drop(red11, new Position(0, 0));
|
||||
mockHand.drop(black10, new Position(0, 0));
|
||||
|
||||
|
||||
mockView.playerPanel.sortByRunsEvent.emit();
|
||||
|
||||
List<Pair<Stone, Position>> stones = new ArrayList<Pair<Stone, Position>>(mockHand.stones);
|
||||
|
||||
List<Pair<Stone, Position>> stones = new ArrayList<Pair<Stone, Position>>(
|
||||
mockHand.stones);
|
||||
Collections.sort(stones, new TurnControl.HandStonePositionComparator());
|
||||
|
||||
|
||||
assertEquals(stones.size(), 13);
|
||||
|
||||
|
||||
assertSame(stones.get(0).getFirst(), black5);
|
||||
assertSame(stones.get(1).getFirst(), black10);
|
||||
assertSame(stones.get(2).getFirst(), orange10);
|
||||
assertSame(stones.get(3).getFirst(), orange13);
|
||||
assertSame(stones.get(4).getFirst(), blue1);
|
||||
assertSame(stones.get(5).getFirst(), blue2);
|
||||
|
||||
assertTrue(stones.get(6).getFirst() == blue4 || stones.get(6).getFirst() == blue4a);
|
||||
assertTrue(stones.get(7).getFirst() == blue4 || stones.get(7).getFirst() == blue4a);
|
||||
|
||||
|
||||
assertTrue(stones.get(6).getFirst() == blue4
|
||||
|| stones.get(6).getFirst() == blue4a);
|
||||
assertTrue(stones.get(7).getFirst() == blue4
|
||||
|| stones.get(7).getFirst() == blue4a);
|
||||
|
||||
assertSame(stones.get(8).getFirst(), red1);
|
||||
assertSame(stones.get(9).getFirst(), red3);
|
||||
assertSame(stones.get(10).getFirst(), red4);
|
||||
assertSame(stones.get(11).getFirst(), red11);
|
||||
assertSame(stones.get(12).getFirst(), joker);
|
||||
|
||||
checkHandDisplay(mockHand);
|
||||
}
|
||||
}
|
||||
|
|
Reference in a new issue