Tests fürs Anlegen von Steinen auf dem Tisch ferti
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@175 72836036-5685-4462-b002-a69064685172
This commit is contained in:
parent
7b75af50e2
commit
cfc674eb3d
1 changed files with 291 additions and 3 deletions
|
@ -405,17 +405,305 @@ public class TurnControlTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void takeLeftStone() {
|
||||
public void testAddLeft() {
|
||||
Stone blueOne = new Stone(1, BLUE);
|
||||
Stone redOne = new Stone(1, RED);
|
||||
Stone blackOne = new Stone(1, BLACK);
|
||||
Stone blueTwo = new Stone(2, BLUE);
|
||||
Stone blueThree = new Stone(3, BLUE);
|
||||
Stone blueFour = new Stone(4, BLUE);
|
||||
Stone redTwo = new Stone(2, RED);
|
||||
Stone redThree = new Stone(3, RED);
|
||||
Stone redFour = new Stone(4, RED);
|
||||
Stone blackTwo = new Stone(2, BLACK);
|
||||
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));
|
||||
mockTable.drop(oldSet1, new Position(0, 0));
|
||||
mockTable.drop(oldSet2, new Position(0, 0));
|
||||
mockHand.drop(blueThree, new Position(0, 0));
|
||||
mockHand.drop(blueFour, new Position(0, 0));
|
||||
mockView.playerPanel.handPanel.stoneClickEvent.emit(blueThree, false);
|
||||
mockView.tablePanel.stoneClickEvent.emit(redOne, true);
|
||||
mockView.tablePanel.stoneClickEvent.emit(redThree, true);
|
||||
mockView.tablePanel.leftConnectorClickEvent.emit(oldSet1);
|
||||
// handcheck
|
||||
assertEquals(1, mockHand.getSize());
|
||||
assertSame(mockHand.stones.get(0), blueFour);
|
||||
// tablecheck
|
||||
assertEquals(2, mockTable.getSize());
|
||||
StoneSet newSet1, newSet2;
|
||||
if (mockTable.sets.get(0).getFirst().size() == 3) {
|
||||
newSet2 = mockTable.sets.get(0).getFirst();
|
||||
newSet1 = mockTable.sets.get(1).getFirst();
|
||||
} else {
|
||||
newSet1 = mockTable.sets.get(0).getFirst();
|
||||
newSet2 = mockTable.sets.get(1).getFirst();
|
||||
}
|
||||
assertSame(oldSet2, newSet2);
|
||||
// setcheck
|
||||
assertEquals(9, newSet1.size());
|
||||
assertSame(newSet1.get(0), blueThree);
|
||||
assertSame(newSet1.get(1), redOne);
|
||||
assertSame(newSet1.get(2), redThree);
|
||||
assertSame(newSet1.get(3), blueOne);
|
||||
assertSame(newSet1.get(4), blackOne);
|
||||
assertSame(newSet1.get(5), redTwo);
|
||||
assertSame(newSet1.get(6), redFour);
|
||||
assertSame(newSet1.get(7), blackTwo);
|
||||
assertSame(newSet1.get(8), blackThree);
|
||||
|
||||
mockView.tablePanel.stoneClickEvent.emit(redOne, true);
|
||||
mockView.tablePanel.stoneClickEvent.emit(redThree, true);
|
||||
mockView.tablePanel.leftConnectorClickEvent.emit(oldSet2);
|
||||
// handcheck
|
||||
assertEquals(1, mockHand.getSize());
|
||||
assertSame(mockHand.stones.get(0), blueFour);
|
||||
// tablecheck
|
||||
assertEquals(2, mockTable.getSize());
|
||||
if (mockTable.sets.get(0).getFirst().size() == 5) {
|
||||
newSet2 = mockTable.sets.get(0).getFirst();
|
||||
newSet1 = mockTable.sets.get(1).getFirst();
|
||||
} else {
|
||||
newSet1 = mockTable.sets.get(0).getFirst();
|
||||
newSet2 = mockTable.sets.get(1).getFirst();
|
||||
}
|
||||
// setcheck1
|
||||
assertEquals(7, newSet1.size());
|
||||
assertSame(newSet1.get(0), blueThree);
|
||||
assertSame(newSet1.get(1), blueOne);
|
||||
assertSame(newSet1.get(2), blackOne);
|
||||
assertSame(newSet1.get(3), redTwo);
|
||||
assertSame(newSet1.get(4), redFour);
|
||||
assertSame(newSet1.get(5), blackTwo);
|
||||
assertSame(newSet1.get(6), blackThree);
|
||||
// setcheck2
|
||||
assertEquals(5, newSet2.size());
|
||||
assertSame(newSet2.get(0), redOne);
|
||||
assertSame(newSet2.get(1), redThree);
|
||||
assertSame(newSet2.get(2), blueTwo);
|
||||
assertSame(newSet2.get(3), blackFour);
|
||||
assertSame(newSet2.get(4), blackFive);
|
||||
// versuche, links was wegzunehmen und wieder anzuhängen
|
||||
mockView.tablePanel.stoneClickEvent.emit(redOne, false);
|
||||
mockView.playerPanel.handPanel.stoneClickEvent.emit(blueFour, true);
|
||||
// handcheck
|
||||
assertEquals(0, mockHand.getSize());
|
||||
// tablecheck
|
||||
assertEquals(2, mockTable.getSize());
|
||||
if (mockTable.sets.get(0).getFirst().size() == 6) {
|
||||
newSet2 = mockTable.sets.get(0).getFirst();
|
||||
newSet1 = mockTable.sets.get(1).getFirst();
|
||||
} else {
|
||||
newSet1 = mockTable.sets.get(0).getFirst();
|
||||
newSet2 = mockTable.sets.get(1).getFirst();
|
||||
}
|
||||
// setcheck1
|
||||
assertEquals(7, newSet1.size());
|
||||
// setcheck2
|
||||
assertEquals(6, newSet2.size());
|
||||
assertSame(newSet2.get(0), redOne);
|
||||
assertSame(newSet2.get(1), blueFour);
|
||||
assertSame(newSet2.get(2), redThree);
|
||||
assertSame(newSet2.get(3), blueTwo);
|
||||
assertSame(newSet2.get(4), blackFour);
|
||||
assertSame(newSet2.get(5), blackFive);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void takeRightStone() {
|
||||
public void testAddRight() {
|
||||
Stone blueOne = new Stone(1, BLUE);
|
||||
Stone redOne = new Stone(1, RED);
|
||||
Stone blackOne = new Stone(1, BLACK);
|
||||
Stone blueTwo = new Stone(2, BLUE);
|
||||
Stone blueThree = new Stone(3, BLUE);
|
||||
Stone blueFour = new Stone(4, BLUE);
|
||||
Stone redTwo = new Stone(2, RED);
|
||||
Stone redThree = new Stone(3, RED);
|
||||
Stone redFour = new Stone(4, RED);
|
||||
Stone blackTwo = new Stone(2, BLACK);
|
||||
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));
|
||||
mockTable.drop(oldSet1, new Position(0, 0));
|
||||
mockTable.drop(oldSet2, new Position(0, 0));
|
||||
mockHand.drop(blueThree, new Position(0, 0));
|
||||
mockHand.drop(blueFour, new Position(0, 0));
|
||||
mockView.playerPanel.handPanel.stoneClickEvent.emit(blueThree, false);
|
||||
mockView.tablePanel.stoneClickEvent.emit(redOne, true);
|
||||
mockView.tablePanel.stoneClickEvent.emit(redThree, true);
|
||||
mockView.tablePanel.rightConnectorClickEvent.emit(oldSet1);
|
||||
// handcheck
|
||||
assertEquals(1, mockHand.getSize());
|
||||
assertSame(mockHand.stones.get(0), blueFour);
|
||||
// tablecheck
|
||||
assertEquals(2, mockTable.getSize());
|
||||
StoneSet newSet1, newSet2;
|
||||
if (mockTable.sets.get(0).getFirst().size() == 3) {
|
||||
newSet2 = mockTable.sets.get(0).getFirst();
|
||||
newSet1 = mockTable.sets.get(1).getFirst();
|
||||
} else {
|
||||
newSet1 = mockTable.sets.get(0).getFirst();
|
||||
newSet2 = mockTable.sets.get(1).getFirst();
|
||||
}
|
||||
assertSame(oldSet2, newSet2);
|
||||
// setcheck
|
||||
assertEquals(9, newSet1.size());
|
||||
assertSame(newSet1.get(0), blueOne);
|
||||
assertSame(newSet1.get(1), blackOne);
|
||||
assertSame(newSet1.get(2), redTwo);
|
||||
assertSame(newSet1.get(3), redFour);
|
||||
assertSame(newSet1.get(4), blackTwo);
|
||||
assertSame(newSet1.get(5), blackThree);
|
||||
assertSame(newSet1.get(6), blueThree);
|
||||
assertSame(newSet1.get(7), redOne);
|
||||
assertSame(newSet1.get(8), redThree);
|
||||
|
||||
mockView.tablePanel.stoneClickEvent.emit(redOne, true);
|
||||
mockView.tablePanel.stoneClickEvent.emit(redThree, true);
|
||||
mockView.tablePanel.rightConnectorClickEvent.emit(oldSet2);
|
||||
// handcheck
|
||||
assertEquals(1, mockHand.getSize());
|
||||
assertSame(mockHand.stones.get(0), blueFour);
|
||||
// tablecheck
|
||||
assertEquals(2, mockTable.getSize());
|
||||
if (mockTable.sets.get(0).getFirst().size() == 5) {
|
||||
newSet2 = mockTable.sets.get(0).getFirst();
|
||||
newSet1 = mockTable.sets.get(1).getFirst();
|
||||
} else {
|
||||
newSet1 = mockTable.sets.get(0).getFirst();
|
||||
newSet2 = mockTable.sets.get(1).getFirst();
|
||||
}
|
||||
// setcheck1
|
||||
assertEquals(7, newSet1.size());
|
||||
assertSame(newSet1.get(0), blueOne);
|
||||
assertSame(newSet1.get(1), blackOne);
|
||||
assertSame(newSet1.get(2), redTwo);
|
||||
assertSame(newSet1.get(3), redFour);
|
||||
assertSame(newSet1.get(4), blackTwo);
|
||||
assertSame(newSet1.get(5), blackThree);
|
||||
assertSame(newSet1.get(6), blueThree);
|
||||
// setcheck2
|
||||
assertEquals(5, newSet2.size());
|
||||
assertSame(newSet2.get(0), blueTwo);
|
||||
assertSame(newSet2.get(1), blackFour);
|
||||
assertSame(newSet2.get(2), blackFive);
|
||||
assertSame(newSet2.get(3), redOne);
|
||||
assertSame(newSet2.get(4), redThree);
|
||||
// versuche, rechts was wegzunehmen und wieder anzuhängen
|
||||
mockView.tablePanel.stoneClickEvent.emit(redThree, false);
|
||||
mockView.playerPanel.handPanel.stoneClickEvent.emit(blueFour, true);
|
||||
// handcheck
|
||||
assertEquals(0, mockHand.getSize());
|
||||
// tablecheck
|
||||
assertEquals(2, mockTable.getSize());
|
||||
if (mockTable.sets.get(0).getFirst().size() == 6) {
|
||||
newSet2 = mockTable.sets.get(0).getFirst();
|
||||
newSet1 = mockTable.sets.get(1).getFirst();
|
||||
} else {
|
||||
newSet1 = mockTable.sets.get(0).getFirst();
|
||||
newSet2 = mockTable.sets.get(1).getFirst();
|
||||
}
|
||||
// setcheck1
|
||||
assertEquals(7, newSet1.size());
|
||||
// setcheck2
|
||||
assertEquals(6, newSet2.size());
|
||||
assertSame(newSet2.get(0), blueTwo);
|
||||
assertSame(newSet2.get(1), blackFour);
|
||||
assertSame(newSet2.get(2), blackFive);
|
||||
assertSame(newSet2.get(3), redOne);
|
||||
assertSame(newSet2.get(4), blueFour);
|
||||
assertSame(newSet2.get(5), redThree);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void takeMiddleStone() {
|
||||
public void testAddNewSet() {
|
||||
Stone blueOne = new Stone(1, BLUE);
|
||||
Stone redOne = new Stone(1, RED);
|
||||
Stone blackOne = new Stone(1, BLACK);
|
||||
Stone blueTwo = new Stone(2, BLUE);
|
||||
Stone blueThree = new Stone(3, BLUE);
|
||||
Stone blueFour = new Stone(4, BLUE);
|
||||
Stone redTwo = new Stone(2, RED);
|
||||
Stone redThree = new Stone(3, RED);
|
||||
Stone redFour = new Stone(4, RED);
|
||||
Stone blackTwo = new Stone(2, BLACK);
|
||||
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));
|
||||
mockTable.drop(oldSet1, new Position(0, 0));
|
||||
mockTable.drop(oldSet2, new Position(0, 0));
|
||||
mockHand.drop(blueThree, new Position(0, 0));
|
||||
mockHand.drop(blueFour, new Position(0, 0));
|
||||
mockView.playerPanel.handPanel.stoneClickEvent.emit(blueThree, false);
|
||||
mockView.tablePanel.stoneClickEvent.emit(redOne, true);
|
||||
mockView.tablePanel.stoneClickEvent.emit(redThree, true);
|
||||
mockView.tablePanel.stoneClickEvent.emit(blueTwo, true);
|
||||
mockView.tablePanel.clickEvent.emit(new Position(0, 0));
|
||||
// handcheck
|
||||
assertEquals(1, mockHand.getSize());
|
||||
assertSame(blueFour, mockHand.stones.get(0));
|
||||
// tablecheck
|
||||
StoneSet newSet1, newSet2, newSet3;
|
||||
assertEquals(2, mockTable.getSize());
|
||||
if (mockTable.sets.get(0).getFirst().size() == 2) {
|
||||
newSet2 = mockTable.sets.get(0).getFirst();
|
||||
if (mockTable.sets.get(1).getFirst().size() == 4) {
|
||||
newSet3 = mockTable.sets.get(1).getFirst();
|
||||
newSet1 = mockTable.sets.get(2).getFirst();
|
||||
} else {
|
||||
newSet3 = mockTable.sets.get(2).getFirst();
|
||||
newSet1 = mockTable.sets.get(1).getFirst();
|
||||
}
|
||||
} else if (mockTable.sets.get(0).getFirst().size() == 4) {
|
||||
newSet3 = mockTable.sets.get(0).getFirst();
|
||||
if (mockTable.sets.get(1).getFirst().size() == 2) {
|
||||
newSet2 = mockTable.sets.get(1).getFirst();
|
||||
newSet1 = mockTable.sets.get(2).getFirst();
|
||||
} else {
|
||||
newSet2 = mockTable.sets.get(2).getFirst();
|
||||
newSet1 = mockTable.sets.get(1).getFirst();
|
||||
}
|
||||
} else {
|
||||
newSet1 = mockTable.sets.get(0).getFirst();
|
||||
if (mockTable.sets.get(1).getFirst().size() == 2) {
|
||||
newSet2 = mockTable.sets.get(1).getFirst();
|
||||
newSet3 = mockTable.sets.get(2).getFirst();
|
||||
} else {
|
||||
newSet2 = mockTable.sets.get(2).getFirst();
|
||||
newSet3 = mockTable.sets.get(1).getFirst();
|
||||
}
|
||||
}
|
||||
|
||||
// setcheck1
|
||||
assertEquals(6, newSet1.size());
|
||||
assertSame(newSet1.get(0), blueOne);
|
||||
assertSame(newSet1.get(1), blackOne);
|
||||
assertSame(newSet1.get(2), redTwo);
|
||||
assertSame(newSet1.get(3), redFour);
|
||||
assertSame(newSet1.get(4), blackTwo);
|
||||
assertSame(newSet1.get(5), blackThree);
|
||||
// setcheck2
|
||||
assertEquals(2, newSet2.size());
|
||||
assertSame(newSet2.get(0), blackFour);
|
||||
assertSame(newSet2.get(1), blackFive);
|
||||
// setcheck1
|
||||
assertEquals(4, newSet3.size());
|
||||
assertSame(newSet3.get(0), blueThree);
|
||||
assertSame(newSet3.get(1), redOne);
|
||||
assertSame(newSet3.get(2), redThree);
|
||||
assertSame(newSet3.get(3), blueTwo);
|
||||
}
|
||||
}
|
||||
|
|
Reference in a new issue