diff options
Diffstat (limited to 'test/eu/equalparts/cardbase/decks/DeckTest.java')
-rw-r--r-- | test/eu/equalparts/cardbase/decks/DeckTest.java | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/test/eu/equalparts/cardbase/decks/DeckTest.java b/test/eu/equalparts/cardbase/decks/DeckTest.java new file mode 100644 index 0000000..a35bc32 --- /dev/null +++ b/test/eu/equalparts/cardbase/decks/DeckTest.java @@ -0,0 +1,52 @@ +package eu.equalparts.cardbase.decks; + +import static org.junit.Assert.*; + +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +import com.fasterxml.jackson.databind.ObjectMapper; + +import eu.equalparts.cardbase.cards.Card; +import eu.equalparts.cardbase.decks.ReferenceDeck; +import eu.equalparts.cardbase.decks.StandaloneDeck; + +public class DeckTest { + + @BeforeClass + public static void setUpBeforeClass() throws Exception { + + } + + @AfterClass + public static void tearDownAfterClass() throws Exception { + } + + @Before + public void setUp() throws Exception { + } + + @Test + public void test_createReferenceDeckFromStandaloneDeck() throws Exception { + ObjectMapper mapper = new ObjectMapper(); + StandaloneDeck standaloneDeck = mapper.readValue(getClass().getResourceAsStream("deck.cbd"), StandaloneDeck.class); + + ReferenceDeck uut = new ReferenceDeck(standaloneDeck); + + boolean condition = uut.name == standaloneDeck.name && + uut.plains == standaloneDeck.plains && + uut.islands == standaloneDeck.islands && + uut.swamps == standaloneDeck.swamps && + uut.mountains == standaloneDeck.mountains && + uut.forests == standaloneDeck.forests; + assertTrue("Metadata was not correctly set.", condition); + assertEquals("Wrong number of cards.", uut.cardReferences.size(), standaloneDeck.cards.size()); + for (Card card : standaloneDeck.cards) { + Integer count = uut.cardReferences.get(card.hashCode()); + assertNotNull("Reference missing in deck.", count); + assertEquals("Card count is wrong.", card.count, count); + } + } +} |