Test anlegen nochmal überarbeitet, echter Table wird statt Mock-Table genutzt

git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@176 72836036-5685-4462-b002-a69064685172
This commit is contained in:
Ida Massow 2011-05-08 22:24:22 +02:00
parent cfc674eb3d
commit 35cd080bcd

View file

@ -4,6 +4,7 @@ import static org.junit.Assert.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import jrummikub.model.MockHand;
@ -12,6 +13,7 @@ import jrummikub.model.Position;
import jrummikub.model.Stone;
import jrummikub.model.StoneColor;
import jrummikub.model.StoneSet;
import jrummikub.model.Table;
import jrummikub.util.Event;
import jrummikub.util.IEvent;
import jrummikub.util.IListener;
@ -24,6 +26,11 @@ import org.junit.Test;
import static jrummikub.model.StoneColor.*;
public class TurnControlTest {
static class AccessibleTable extends Table{
StoneSet[] getSetArray(){
return objects.keySet().toArray(new StoneSet[0]);
}
}
class MockTimer implements ITurnTimer {
public boolean timerRunning = false;
@ -406,6 +413,9 @@ public class TurnControlTest {
@Test
public void testAddLeft() {
AccessibleTable table=new AccessibleTable();
TurnControl turnControl=new TurnControl(mockHand, table, mockView, mockTimer);
turnControl.startTurn();
Stone blueOne = new Stone(1, BLUE);
Stone redOne = new Stone(1, RED);
Stone blackOne = new Stone(1, BLACK);
@ -423,8 +433,8 @@ public class TurnControlTest {
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));
table.drop(oldSet1, new Position(0, 0));
table.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);
@ -435,14 +445,14 @@ public class TurnControlTest {
assertEquals(1, mockHand.getSize());
assertSame(mockHand.stones.get(0), blueFour);
// tablecheck
assertEquals(2, mockTable.getSize());
assertEquals(2, table.getSize());
StoneSet newSet1, newSet2;
if (mockTable.sets.get(0).getFirst().size() == 3) {
newSet2 = mockTable.sets.get(0).getFirst();
newSet1 = mockTable.sets.get(1).getFirst();
if (table.getSetArray()[0].size() == 3) {
newSet2 = table.getSetArray()[0];
newSet1 = table.getSetArray()[1];
} else {
newSet1 = mockTable.sets.get(0).getFirst();
newSet2 = mockTable.sets.get(1).getFirst();
newSet1 = table.getSetArray()[0];
newSet2 = table.getSetArray()[1];
}
assertSame(oldSet2, newSet2);
// setcheck
@ -464,13 +474,13 @@ public class TurnControlTest {
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();
assertEquals(2, table.getSize());
if (table.getSetArray()[0].size() == 5) {
newSet2 =table.getSetArray()[0];
newSet1 =table.getSetArray()[1];
} else {
newSet1 = mockTable.sets.get(0).getFirst();
newSet2 = mockTable.sets.get(1).getFirst();
newSet1 = table.getSetArray()[0];
newSet2 = table.getSetArray()[1];
}
// setcheck1
assertEquals(7, newSet1.size());
@ -494,13 +504,13 @@ public class TurnControlTest {
// 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();
assertEquals(2, table.getSize());
if (table.getSetArray()[0].size() == 6) {
newSet2 = table.getSetArray()[0];
newSet1 = table.getSetArray()[1];
} else {
newSet1 = mockTable.sets.get(0).getFirst();
newSet2 = mockTable.sets.get(1).getFirst();
newSet1 = table.getSetArray()[0];
newSet2 = table.getSetArray()[1];
}
// setcheck1
assertEquals(7, newSet1.size());
@ -516,6 +526,9 @@ public class TurnControlTest {
@Test
public void testAddRight() {
AccessibleTable table=new AccessibleTable();
TurnControl turnControl=new TurnControl(mockHand, table, mockView, mockTimer);
turnControl.startTurn();
Stone blueOne = new Stone(1, BLUE);
Stone redOne = new Stone(1, RED);
Stone blackOne = new Stone(1, BLACK);
@ -533,8 +546,8 @@ public class TurnControlTest {
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));
table.drop(oldSet1, new Position(0, 0));
table.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);
@ -545,14 +558,14 @@ public class TurnControlTest {
assertEquals(1, mockHand.getSize());
assertSame(mockHand.stones.get(0), blueFour);
// tablecheck
assertEquals(2, mockTable.getSize());
assertEquals(2, table.getSize());
StoneSet newSet1, newSet2;
if (mockTable.sets.get(0).getFirst().size() == 3) {
newSet2 = mockTable.sets.get(0).getFirst();
newSet1 = mockTable.sets.get(1).getFirst();
if (table.getSetArray()[0].size() == 3) {
newSet2 = table.getSetArray()[0];
newSet1 = table.getSetArray()[1];
} else {
newSet1 = mockTable.sets.get(0).getFirst();
newSet2 = mockTable.sets.get(1).getFirst();
newSet1 = table.getSetArray()[0];
newSet2 = table.getSetArray()[1];
}
assertSame(oldSet2, newSet2);
// setcheck
@ -574,13 +587,13 @@ public class TurnControlTest {
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();
assertEquals(2, table.getSize());
if (table.getSetArray()[0].size() == 5) {
newSet2 = table.getSetArray()[0];
newSet1 = table.getSetArray()[1];
} else {
newSet1 = mockTable.sets.get(0).getFirst();
newSet2 = mockTable.sets.get(1).getFirst();
newSet1 = table.getSetArray()[0];
newSet2 = table.getSetArray()[1];
}
// setcheck1
assertEquals(7, newSet1.size());
@ -604,13 +617,13 @@ public class TurnControlTest {
// 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();
assertEquals(2, table.getSize());
if (table.getSetArray()[0].size() == 6) {
newSet2 = table.getSetArray()[0];
newSet1 = table.getSetArray()[1];
} else {
newSet1 = mockTable.sets.get(0).getFirst();
newSet2 = mockTable.sets.get(1).getFirst();
newSet1 = table.getSetArray()[0];
newSet2 = table.getSetArray()[1];
}
// setcheck1
assertEquals(7, newSet1.size());
@ -626,6 +639,9 @@ public class TurnControlTest {
@Test
public void testAddNewSet() {
AccessibleTable table=new AccessibleTable();
TurnControl turnControl=new TurnControl(mockHand, table, mockView, mockTimer);
turnControl.startTurn();
Stone blueOne = new Stone(1, BLUE);
Stone redOne = new Stone(1, RED);
Stone blackOne = new Stone(1, BLACK);
@ -643,8 +659,8 @@ public class TurnControlTest {
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));
table.drop(oldSet1, new Position(0, 0));
table.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);
@ -657,33 +673,33 @@ public class TurnControlTest {
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();
assertEquals(2, table.getSize());
if (table.getSetArray()[0].size() == 2) {
newSet2 = table.getSetArray()[0];
if (table.getSetArray()[1].size() == 4) {
newSet3 = table.getSetArray()[1];
newSet1 = table.getSetArray()[2];
} else {
newSet3 = mockTable.sets.get(2).getFirst();
newSet1 = mockTable.sets.get(1).getFirst();
newSet3 = table.getSetArray()[2];
newSet1 = table.getSetArray()[1];
}
} 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 if (table.getSetArray()[0].size() == 4) {
newSet3 = table.getSetArray()[0];
if (table.getSetArray()[1].size() == 2) {
newSet2 = table.getSetArray()[1];
newSet1 = table.getSetArray()[2];
} else {
newSet2 = mockTable.sets.get(2).getFirst();
newSet1 = mockTable.sets.get(1).getFirst();
newSet2 = table.getSetArray()[2];
newSet1 = table.getSetArray()[1];
}
} 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();
newSet1 = table.getSetArray()[0];
if (table.getSetArray()[1].size() == 2) {
newSet2 = table.getSetArray()[1];
newSet3 = table.getSetArray()[2];
} else {
newSet2 = mockTable.sets.get(2).getFirst();
newSet3 = mockTable.sets.get(1).getFirst();
newSet2 =table.getSetArray()[2];
newSet3 = table.getSetArray()[1];
}
}