Files
mesos2/src/test/java/Server/Cards/CardDeckTest.java

110 lines
4.3 KiB
Java

package Server.Cards;
import org.junit.jupiter.api.Test;
import java.util.List;
import Server.Era;
import static org.junit.jupiter.api.Assertions.*;
class CardDeckTest {
//Load 2 cards from CSV to cardDeck
@Test
void loadOnlyCharacter(){
CardDeck cardDeck = new CardDeck();
cardDeck.setForNPlayer(getClass().getResourceAsStream("/files/cards.csv"), 4);
assertEquals(2, cardDeck.getTribeDeck().size());
}
//First create a new CardDeck filled with a 14 cards then he recreates said deck
// with a different set of cards to emulate a new game
@Test
void doubleLoad(){
CardDeck cardDeck = new CardDeck();
//cardDeck.setForNPlayer("./src/test/resources/files/only_building_deck.csv", 4);
cardDeck.setForNPlayer(getClass().getResourceAsStream("/files/only_building_deck.csv"), 4);
assertEquals(0, cardDeck.getTribeDeck().size());
assertEquals(6, cardDeck.getBuildingDeck(Era.I).size());
assertEquals(7, cardDeck.getBuildingDeck(Era.II).size());
assertEquals(8, cardDeck.getBuildingDeck(Era.III).size());
//cardDeck.setForNPlayer("./src/test/resources/files/only_event_deck.csv", 4);
cardDeck.setForNPlayer(getClass().getResourceAsStream("/files/only_event_deck.csv"), 4);
assertEquals(3, cardDeck.getTribeDeck().size());
assertEquals(0, cardDeck.getBuildingDeck(Era.I).size());
assertEquals(0, cardDeck.getBuildingDeck(Era.II).size());
assertEquals(0, cardDeck.getBuildingDeck(Era.III).size());
}
//Draw 5 cards from TribeDeck and 3 from BuildingDeck, then check if they are correctly
// removed from cardDeck
@Test
void draw() {
int tribeDraw = 5;
int buildingDraw = 3;
int drawnCards = tribeDraw + buildingDraw;
CardDeck cardDeck = new CardDeck();
//cardDeck.setForNPlayer("./src/test/resources/files/test_deck.csv", 5);
cardDeck.setForNPlayer(getClass().getResourceAsStream("/files/test_deck.csv"), 5);
//int deckSize = cardDeck.getTribeDeck().size() + cardDeck.getBuildingDeck().size();
List<Card> cards = cardDeck.drawTribe(tribeDraw);
assertEquals(tribeDraw, cards.size());
//List<BuildingCard> buildingCards = cardDeck.drawBuilding(buildingDraw);
//assertEquals(buildingDraw, buildingCards.size());
//int newDeckSize = cardDeck.getTribeDeck().size() + cardDeck.getBuildingDeck().size();
//assertEquals(deckSize - drawnCards, newDeckSize);
}
//draw 5 cards from TribeDeck
@Test
void drawTribe() {
CardDeck cardDeck = new CardDeck();
//cardDeck.setForNPlayer("./src/test/resources/files/test_deck.csv", 5);
cardDeck.setForNPlayer(getClass().getResourceAsStream("/files/test_deck.csv"), 5);
List<Card> cards = cardDeck.drawTribe(5);
assertEquals(5, cards.size());
}
//draw 3 cards from BuildingDeck
@Test
void drawBuilding() {
CardDeck cardDeck = new CardDeck();
//cardDeck.setForNPlayer("./src/test/resources/files/test_deck.csv", 5);
cardDeck.setForNPlayer(getClass().getResourceAsStream("/files/test_deck.csv"), 5);
// List<BuildingCard> buildingCards = cardDeck.drawBuilding(3);
// assertEquals(3, buildingCards.size());
}
//Try to draw 5 cards from a deck of only 3, then he returns only the remaining
//cards in the deck
@Test
void drawTooManyCards() {
CardDeck cardDeck = new CardDeck();
//cardDeck.setForNPlayer("./src/test/resources/files/only_character_deck.csv", 5);
cardDeck.setForNPlayer(getClass().getResourceAsStream("/files/only_character_deck.csv"), 5);
List<Card> cards = cardDeck.drawTribe(5);
assertEquals(3, cards.size());
}
@Test
void shuffledDeck() {
CardDeck cardDeck = new CardDeck();
// cardDeck.setForNPlayer("./src/test/resources/files/test_deck.csv", 5);
cardDeck.setForNPlayer(getClass().getResourceAsStream("/files/test_deck.csv"), 5);
assertEquals(Era.I, cardDeck.drawTribe(1).getFirst().getEra());
assertEquals(Era.FINAL, cardDeck.drawTribe(100).getLast().getEra());
// assertEquals(Era.I, cardDeck.drawBuilding(1).getFirst().getEra());
// assertEquals(Era.III, cardDeck.drawBuilding(100).getLast().getEra());
}
}