added a dedicated card and turn handler, more tests and fixed some bugs
This commit is contained in:
@@ -1,4 +1,41 @@
|
||||
package mau.mau;
|
||||
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
|
||||
public class DeckTest {
|
||||
|
||||
private Deck sut;
|
||||
|
||||
@BeforeEach
|
||||
void setUp(){
|
||||
sut = new Deck();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void doIReceiveCardAfterDrawingTest(){
|
||||
// Act
|
||||
Card card = sut.drawCard();
|
||||
boolean result = card.getClass().equals(Card.class);
|
||||
|
||||
// Assert
|
||||
assertTrue(result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isDeckEmptyWhenDrawingTheFirstCardTest() {
|
||||
// Assign
|
||||
int cardsToDraw = 1;
|
||||
|
||||
// Act
|
||||
boolean result = sut.deckIsEmpty(cardsToDraw);
|
||||
|
||||
// Assert
|
||||
assertFalse(result);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
4
src/test/java/mau/mau/GameTest.java
Normal file
4
src/test/java/mau/mau/GameTest.java
Normal file
@@ -0,0 +1,4 @@
|
||||
package mau.mau;
|
||||
|
||||
public class GameTest {
|
||||
}
|
||||
@@ -59,6 +59,43 @@ public class RefereeTest {
|
||||
assertTrue(results);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isTwoOfHeartsAMauCardTest(){
|
||||
//Assign
|
||||
Card testCard = new Card(TYPENUM.HEARTS, VALUENUM.TWO);
|
||||
|
||||
//Act
|
||||
boolean result = Referee.isMauCard(testCard);
|
||||
|
||||
//Assert
|
||||
assertTrue(result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isJokerAMauCardTest(){
|
||||
//Assign
|
||||
Card testCard = new Card(TYPENUM.JOKER, VALUENUM.THREE);
|
||||
|
||||
//Act
|
||||
boolean result = Referee.isMauCard(testCard);
|
||||
|
||||
//Assert
|
||||
assertTrue(result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isThreeOfSpadesAMauCardTest(){
|
||||
//Assign
|
||||
Card testCard = new Card(TYPENUM.HEARTS, VALUENUM.THREE);
|
||||
|
||||
//Act
|
||||
boolean result = Referee.isMauCard(testCard);
|
||||
|
||||
//Assert
|
||||
assertFalse(result);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void isAceOfSpadesValidEndcardTest(){
|
||||
//Assign
|
||||
|
||||
57
src/test/java/mau/mau/UtilsTest.java
Normal file
57
src/test/java/mau/mau/UtilsTest.java
Normal file
@@ -0,0 +1,57 @@
|
||||
package mau.mau;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
public class UtilsTest {
|
||||
|
||||
@Test
|
||||
public void isNumericStringNumericTest() {
|
||||
//Assign
|
||||
String numericString = "123";
|
||||
|
||||
//Act
|
||||
boolean isNumeric = Utils.isNumeric(numericString);
|
||||
|
||||
//Assert
|
||||
assertTrue(isNumeric);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isAlphabeticStringNumericTest() {
|
||||
//Assign
|
||||
String numericString = "Koet";
|
||||
|
||||
//Act
|
||||
boolean isNumeric = Utils.isNumeric(numericString);
|
||||
|
||||
//Assert
|
||||
assertFalse(isNumeric);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isEmptyStringNumericTest() {
|
||||
//Assign
|
||||
String numericString = "";
|
||||
|
||||
//Act
|
||||
boolean isNumeric = Utils.isNumeric(numericString);
|
||||
|
||||
//Assert
|
||||
assertFalse(isNumeric);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isCarriageReturnStringNumericTest() {
|
||||
//Assign
|
||||
String numericString = "\n";
|
||||
|
||||
//Act
|
||||
boolean isNumeric = Utils.isNumeric(numericString);
|
||||
|
||||
//Assert
|
||||
assertFalse(isNumeric);
|
||||
}
|
||||
}
|
||||
114
src/test/java/mau/mau/players/BotTest.java
Normal file
114
src/test/java/mau/mau/players/BotTest.java
Normal file
@@ -0,0 +1,114 @@
|
||||
package mau.mau.players;
|
||||
|
||||
import mau.mau.*;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
public class BotTest {
|
||||
|
||||
private Bot sut;
|
||||
private Dealer dealer;
|
||||
private Deck deck;
|
||||
private List<Card> hand;
|
||||
|
||||
@BeforeEach
|
||||
public void setUp() {
|
||||
deck = new Deck();
|
||||
dealer = new Dealer(deck);
|
||||
sut = new Bot("Koet", dealer);
|
||||
hand = new ArrayList<>();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void canBotEndTheGameWithFourOfHeartsOnThreeOfHeartsTest() {
|
||||
//Assign
|
||||
Card currentCard = new Card(TYPENUM.HEARTS, VALUENUM.THREE);
|
||||
hand.add(new Card(TYPENUM.HEARTS, VALUENUM.FOUR));
|
||||
sut.setHand(hand);
|
||||
|
||||
//Assert
|
||||
assertEquals(1, sut.getHandSize());
|
||||
|
||||
//Act
|
||||
sut.getPlay(currentCard);
|
||||
|
||||
//Assert
|
||||
assertTrue(sut.handIsEmpty());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void canBotDrawACardTest() {
|
||||
//Assign
|
||||
Card currentCard = new Card(TYPENUM.SPADES, VALUENUM.THREE);
|
||||
hand.add(new Card(TYPENUM.HEARTS, VALUENUM.FOUR));
|
||||
sut.setHand(hand);
|
||||
|
||||
//Assert
|
||||
assertEquals(1, sut.getHandSize());
|
||||
|
||||
//Act
|
||||
sut.getPlay(currentCard);
|
||||
|
||||
//Assert
|
||||
assertEquals(2, sut.getHandSize());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void canBotPlayACardWithSameTypeTest() {
|
||||
//Assign
|
||||
Card currentCard = new Card(TYPENUM.HEARTS, VALUENUM.THREE);
|
||||
Card spadesFive = new Card(TYPENUM.SPADES, VALUENUM.FIVE);
|
||||
Card clubsEight = new Card(TYPENUM.CLUBS, VALUENUM.EIGHT);
|
||||
Card heartsNine = new Card(TYPENUM.HEARTS, VALUENUM.NINE);
|
||||
hand.add(spadesFive);
|
||||
hand.add(clubsEight);
|
||||
hand.add(heartsNine);
|
||||
sut.setHand(hand);
|
||||
|
||||
//Assert
|
||||
assertEquals(3, sut.getHandSize());
|
||||
|
||||
//Act
|
||||
sut.getPlay(currentCard);
|
||||
|
||||
//Assert
|
||||
assertFalse(hand.contains(heartsNine));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void canBotPlayACardWithSameValueTest() {
|
||||
//Assign
|
||||
Card currentCard = new Card(TYPENUM.DIAMONDS, VALUENUM.FIVE);
|
||||
Card spadesFive = new Card(TYPENUM.SPADES, VALUENUM.FIVE);
|
||||
Card clubsEight = new Card(TYPENUM.CLUBS, VALUENUM.EIGHT);
|
||||
Card heartsNine = new Card(TYPENUM.HEARTS, VALUENUM.NINE);
|
||||
hand.add(spadesFive);
|
||||
hand.add(clubsEight);
|
||||
hand.add(heartsNine);
|
||||
sut.setHand(hand);
|
||||
|
||||
//Assert
|
||||
assertEquals(3, sut.getHandSize());
|
||||
|
||||
//Act
|
||||
sut.getPlay(currentCard);
|
||||
|
||||
//Assert
|
||||
assertFalse(hand.contains(spadesFive));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void canBotChooseTheTypeItHasTheMostOfTest() {
|
||||
//TODO: implement test
|
||||
}
|
||||
|
||||
@Test
|
||||
public void canBotChooseTheTypeItHasTheMostOfWhenThereIsATieTest() {
|
||||
//TODO: implement test
|
||||
}
|
||||
}
|
||||
4
src/test/java/mau/mau/players/HumanTest.java
Normal file
4
src/test/java/mau/mau/players/HumanTest.java
Normal file
@@ -0,0 +1,4 @@
|
||||
package mau.mau.players;
|
||||
|
||||
public class HumanTest {
|
||||
}
|
||||
4
src/test/java/mau/mau/players/PlayerTest.java
Normal file
4
src/test/java/mau/mau/players/PlayerTest.java
Normal file
@@ -0,0 +1,4 @@
|
||||
package mau.mau.players;
|
||||
|
||||
public class PlayerTest {
|
||||
}
|
||||
Reference in New Issue
Block a user