Tests for dropping on hand

git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@206 72836036-5685-4462-b002-a69064685172
This commit is contained in:
Jannis Harder 2011-05-10 01:39:32 +02:00
parent 56b75e037a
commit ce982fcdaf
6 changed files with 78 additions and 10 deletions

View file

@ -11,8 +11,10 @@ import static org.junit.Assert.assertTrue;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import jrummikub.model.IHand;
import jrummikub.model.ITable;
@ -1026,4 +1028,63 @@ public class TurnControlTest {
checkHandDisplay(mockHand);
}
@Test
public void testDropHandValid() {
testControl.startTurn();
Stone firstStone = new Stone(StoneColor.RED);
Stone secondStone = new Stone(StoneColor.BLACK);
mockHand.drop(firstStone, new Position(0,0));
mockHand.drop(secondStone, new Position(1,0));
mockView.playerPanel.handPanel.stoneClickEvent.emit(firstStone, true);
mockView.playerPanel.handPanel.stoneClickEvent.emit(secondStone, true);
mockView.playerPanel.handPanel.clickEvent.emit(new Position(2,0.25f));
assertCollection(new ArrayList<Stone>());
Set<Stone> expected = new HashSet<Stone>(Arrays.asList(firstStone, secondStone));
assertEquals(expected, mockHand.pickups);
Set<Stone> handStones = new HashSet<Stone>();
for (Pair<Stone, Position> stone : mockHand.stones) {
assertEquals(stone.getSecond(), new Position(2,0));
handStones.add(stone.getFirst());
}
assertEquals(expected, handStones);
}
@Test
public void testDropHandInvalid() {
testControl.startTurn();
Stone firstStone = new Stone(StoneColor.RED);
Stone secondStone = new Stone(StoneColor.BLACK);
Stone thirdStone = new Stone(13, StoneColor.BLACK);
mockHand.drop(firstStone, new Position(0,0));
mockHand.drop(thirdStone, new Position(1,0));
mockView.playerPanel.handPanel.stoneClickEvent.emit(firstStone, true);
mockView.tablePanel.stoneClickEvent.emit(secondStone, true);
mockView.playerPanel.handPanel.stoneClickEvent.emit(thirdStone, true);
mockView.playerPanel.handPanel.clickEvent.emit(new Position(2,0.25f));
assertCollection(Arrays.asList(secondStone));
Set<Stone> expected = new HashSet<Stone>(Arrays.asList(firstStone, thirdStone));
assertEquals(expected, mockHand.pickups);
Set<Stone> handStones = new HashSet<Stone>();
for (Pair<Stone, Position> stone : mockHand.stones) {
assertEquals(stone.getSecond(), new Position(2,0));
handStones.add(stone.getFirst());
}
assertEquals(expected, handStones);
}
}