AIUtil now needs game settings, both hand and player do not anymore
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@342 72836036-5685-4462-b002-a69064685172
This commit is contained in:
parent
278edc37a9
commit
d276b03c39
10 changed files with 140 additions and 137 deletions
|
@ -24,7 +24,7 @@ public class HandTest {
|
|||
/** */
|
||||
@Before
|
||||
public void setUp() {
|
||||
hand = new Hand(new GameSettings());
|
||||
hand = new Hand();
|
||||
}
|
||||
|
||||
/** */
|
||||
|
@ -129,32 +129,31 @@ public class HandTest {
|
|||
hand.drop(stone2, new Position(0, 0));
|
||||
hand.drop(stone3, new Position(0, 0));
|
||||
|
||||
assertEquals(56, hand.getStonePoints());
|
||||
assertEquals(56, hand.getStonePoints(new GameSettings()));
|
||||
}
|
||||
|
||||
private void dropStoneList(List<Stone> handStones) {
|
||||
hand = new Hand(new GameSettings());
|
||||
hand = new Hand();
|
||||
for (Stone stone : handStones) {
|
||||
hand.drop(stone, new Position(0, 0));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void testInitialMeld(boolean possible, List<Stone> handStones) {
|
||||
dropStoneList(handStones);
|
||||
assertTrue(possible == hand.isInitialMeldPossible());
|
||||
assertTrue(possible == hand.isInitialMeldPossible(new GameSettings()));
|
||||
}
|
||||
|
||||
/** */
|
||||
@Test
|
||||
public void testInvalid() {
|
||||
testInitialMeld(false, Arrays.asList(new Stone(8, RED), new Stone(9,
|
||||
RED), new Stone(10, RED), new Stone(12, RED),
|
||||
new Stone(13, RED)));
|
||||
testInitialMeld(false, Arrays.asList(new Stone(8, RED), new Stone(9, RED),
|
||||
new Stone(10, RED), new Stone(12, RED), new Stone(13, RED)));
|
||||
testInitialMeld(false, Arrays.asList(new Stone(10, RED), new Stone(10,
|
||||
BLACK), new Stone(11, RED), new Stone(11, BLACK)));
|
||||
testInitialMeld(false, Arrays.asList(new Stone(10, RED), new Stone(10,
|
||||
RED), new Stone(10, BLACK), new Stone(11, RED), new Stone(11,
|
||||
BLACK)));
|
||||
testInitialMeld(false, Arrays.asList(new Stone(10, RED),
|
||||
new Stone(10, RED), new Stone(10, BLACK), new Stone(11, RED),
|
||||
new Stone(11, BLACK)));
|
||||
|
||||
testInitialMeld(false, Arrays.asList(new Stone(10, RED), new Stone(11,
|
||||
BLACK), new Stone(12, RED)));
|
||||
|
@ -163,62 +162,62 @@ public class HandTest {
|
|||
/** */
|
||||
@Test
|
||||
public void testNotEnoughPoints() {
|
||||
testInitialMeld(false, Arrays.asList(new Stone(8, RED), new Stone(9,
|
||||
RED), new Stone(10, RED)));
|
||||
testInitialMeld(false, Arrays.asList(new Stone(1, RED), new Stone(2,
|
||||
RED), new Stone(3, RED), new Stone(4, RED)));
|
||||
testInitialMeld(false, Arrays.asList(new Stone(1, RED), new Stone(2,
|
||||
RED), new Stone(3, RED), new Stone(1, BLACK), new Stone(2,
|
||||
BLACK), new Stone(3, BLACK)));
|
||||
testInitialMeld(false,
|
||||
Arrays.asList(new Stone(8, RED), new Stone(9, RED), new Stone(10, RED)));
|
||||
testInitialMeld(false, Arrays.asList(new Stone(1, RED), new Stone(2, RED),
|
||||
new Stone(3, RED), new Stone(4, RED)));
|
||||
testInitialMeld(false, Arrays.asList(new Stone(1, RED), new Stone(2, RED),
|
||||
new Stone(3, RED), new Stone(1, BLACK), new Stone(2, BLACK), new Stone(
|
||||
3, BLACK)));
|
||||
}
|
||||
|
||||
/** */
|
||||
@Test
|
||||
public void testNotEnoughPointsWithJoker() {
|
||||
testInitialMeld(false, Arrays.asList(new Stone(8, RED), new Stone(9,
|
||||
RED), new Stone(RED), new Stone(3, BLACK)));
|
||||
testInitialMeld(false, Arrays.asList(new Stone(4, RED), new Stone(5,
|
||||
RED), new Stone(4, BLACK), new Stone(5, BLACK), new Stone(RED)));
|
||||
testInitialMeld(false, Arrays.asList(new Stone(8, RED), new Stone(9, RED),
|
||||
new Stone(RED), new Stone(3, BLACK)));
|
||||
testInitialMeld(false, Arrays.asList(new Stone(4, RED), new Stone(5, RED),
|
||||
new Stone(4, BLACK), new Stone(5, BLACK), new Stone(RED)));
|
||||
}
|
||||
|
||||
/** */
|
||||
@Test
|
||||
public void testNotEnoughPointsWithTwoJokers() {
|
||||
testInitialMeld(false, Arrays.asList(new Stone(1, RED), new Stone(2,
|
||||
BLUE), new Stone(3, BLACK), new Stone(RED), new Stone(BLACK)));
|
||||
testInitialMeld(false, Arrays.asList(new Stone(8, RED), new Stone(RED),
|
||||
new Stone(BLACK)));
|
||||
testInitialMeld(false, Arrays.asList(new Stone(1, RED), new Stone(2, BLUE),
|
||||
new Stone(3, BLACK), new Stone(RED), new Stone(BLACK)));
|
||||
testInitialMeld(false,
|
||||
Arrays.asList(new Stone(8, RED), new Stone(RED), new Stone(BLACK)));
|
||||
}
|
||||
|
||||
/** */
|
||||
@Test
|
||||
public void testValid() {
|
||||
testInitialMeld(true, Arrays.asList(new Stone(11, RED), new Stone(12,
|
||||
RED), new Stone(13, RED)));
|
||||
testInitialMeld(true, Arrays.asList(new Stone(4, RED),
|
||||
new Stone(5, RED), new Stone(6, RED), new Stone(5, ORANGE),
|
||||
new Stone(5, BLACK), new Stone(5, BLUE)));
|
||||
testInitialMeld(true, Arrays.asList(new Stone(10, RED), new Stone(10,
|
||||
BLACK), new Stone(10, ORANGE)));
|
||||
testInitialMeld(true, Arrays.asList(new Stone(11, RED), new Stone(12, RED),
|
||||
new Stone(13, RED)));
|
||||
testInitialMeld(true, Arrays.asList(new Stone(4, RED), new Stone(5, RED),
|
||||
new Stone(6, RED), new Stone(5, ORANGE), new Stone(5, BLACK),
|
||||
new Stone(5, BLUE)));
|
||||
testInitialMeld(true, Arrays.asList(new Stone(10, RED),
|
||||
new Stone(10, BLACK), new Stone(10, ORANGE)));
|
||||
}
|
||||
|
||||
/** */
|
||||
@Test
|
||||
public void testValidWithJoker() {
|
||||
testInitialMeld(true, Arrays.asList(new Stone(11, RED), new Stone(RED),
|
||||
new Stone(13, RED)));
|
||||
testInitialMeld(true, Arrays.asList(new Stone(10, RED),
|
||||
new Stone(BLACK), new Stone(10, ORANGE)));
|
||||
testInitialMeld(true, Arrays.asList(new Stone(4, RED),
|
||||
new Stone(5, RED), new Stone(6, RED), new Stone(5, BLACK),
|
||||
new Stone(5, BLUE), new Stone(RED)));
|
||||
testInitialMeld(true,
|
||||
Arrays.asList(new Stone(11, RED), new Stone(RED), new Stone(13, RED)));
|
||||
testInitialMeld(true, Arrays.asList(new Stone(10, RED), new Stone(BLACK),
|
||||
new Stone(10, ORANGE)));
|
||||
testInitialMeld(true, Arrays.asList(new Stone(4, RED), new Stone(5, RED),
|
||||
new Stone(6, RED), new Stone(5, BLACK), new Stone(5, BLUE), new Stone(
|
||||
RED)));
|
||||
}
|
||||
|
||||
/** */
|
||||
@Test
|
||||
public void testValidWithTwoJokers() {
|
||||
testInitialMeld(true, Arrays.asList(new Stone(9, RED), new Stone(RED),
|
||||
new Stone(BLACK)));
|
||||
testInitialMeld(true,
|
||||
Arrays.asList(new Stone(9, RED), new Stone(RED), new Stone(BLACK)));
|
||||
}
|
||||
|
||||
/** */
|
||||
|
@ -235,30 +234,35 @@ public class HandTest {
|
|||
/** */
|
||||
@Test
|
||||
public void testInvalidHuge() {
|
||||
testInitialMeld(false, Arrays.asList(new Stone(1, RED), new Stone(2,
|
||||
RED), new Stone(4, RED), new Stone(6, RED), new Stone(8, RED),
|
||||
new Stone(10, RED), new Stone(13, RED), new Stone(1, BLACK),
|
||||
new Stone(2, BLACK), new Stone(4, BLACK), new Stone(5, BLACK),
|
||||
new Stone(8, BLACK), new Stone(9, BLACK), new Stone(12, BLACK),
|
||||
new Stone(3, BLUE), new Stone(5, BLUE), new Stone(7, BLUE),
|
||||
new Stone(11, BLUE), new Stone(RED)));
|
||||
testInitialMeld(false, Arrays.asList(new Stone(1, RED), new Stone(2, RED),
|
||||
new Stone(4, RED), new Stone(6, RED), new Stone(8, RED), new Stone(10,
|
||||
RED), new Stone(13, RED), new Stone(1, BLACK), new Stone(2, BLACK),
|
||||
new Stone(4, BLACK), new Stone(5, BLACK), new Stone(8, BLACK),
|
||||
new Stone(9, BLACK), new Stone(12, BLACK), new Stone(3, BLUE),
|
||||
new Stone(5, BLUE), new Stone(7, BLUE), new Stone(11, BLUE), new Stone(
|
||||
RED)));
|
||||
}
|
||||
|
||||
/** */
|
||||
@Test
|
||||
public void testCountIdenticalStones() {
|
||||
dropStoneList(Arrays.asList(new Stone(1, RED), new Stone(2, RED), new Stone(1, BLUE)));
|
||||
dropStoneList(Arrays.asList(new Stone(1, RED), new Stone(2, RED),
|
||||
new Stone(1, BLUE)));
|
||||
assertEquals(0, hand.getIdenticalStoneCount());
|
||||
dropStoneList(Arrays.asList(new Stone(1, RED), new Stone(1, RED), new Stone(1, BLUE)));
|
||||
dropStoneList(Arrays.asList(new Stone(1, RED), new Stone(1, RED),
|
||||
new Stone(1, BLUE)));
|
||||
assertEquals(1, hand.getIdenticalStoneCount());
|
||||
dropStoneList(Arrays.asList(new Stone(1, RED), new Stone(1, RED), new Stone(1, BLUE), new Stone(1, BLUE)));
|
||||
dropStoneList(Arrays.asList(new Stone(1, RED), new Stone(1, RED),
|
||||
new Stone(1, BLUE), new Stone(1, BLUE)));
|
||||
assertEquals(2, hand.getIdenticalStoneCount());
|
||||
dropStoneList(Arrays.asList(new Stone(1, RED), new Stone(1, RED), new Stone(1, RED)));
|
||||
dropStoneList(Arrays.asList(new Stone(1, RED), new Stone(1, RED),
|
||||
new Stone(1, RED)));
|
||||
assertEquals(1, hand.getIdenticalStoneCount());
|
||||
dropStoneList(Arrays.asList(new Stone(1, RED), new Stone(1, RED), new Stone(1, RED), new Stone(1, RED)));
|
||||
dropStoneList(Arrays.asList(new Stone(1, RED), new Stone(1, RED),
|
||||
new Stone(1, RED), new Stone(1, RED)));
|
||||
assertEquals(2, hand.getIdenticalStoneCount());
|
||||
dropStoneList(Arrays.asList(new Stone(RED), new Stone(RED)));
|
||||
assertEquals(0, hand.getIdenticalStoneCount());
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
Reference in a new issue