public void testDrawCard() { CardDeck cardDeck = new CardDeck(); cardDeck.init( new LinkedList<Card>( Arrays.asList( new Card[] { cards[1], cards[3], cards[5], cards[7], }))); assertNull(cardDeck.getCurrentCard()); assertEquals(4, cardDeck.countBacks()); assertEquals(0, cardDeck.countFaces()); cardDeck.drawCard(); assertEquals(cards[7], cardDeck.getCurrentCard()); assertEquals(3, cardDeck.countBacks()); assertEquals(1, cardDeck.countFaces()); cardDeck.drawCard(); assertEquals(cards[5], cardDeck.getCurrentCard()); assertEquals(2, cardDeck.countBacks()); assertEquals(2, cardDeck.countFaces()); cardDeck.drawCard(); assertEquals(cards[3], cardDeck.getCurrentCard()); assertEquals(1, cardDeck.countBacks()); assertEquals(3, cardDeck.countFaces()); cardDeck.drawCard(); assertEquals(cards[1], cardDeck.getCurrentCard()); assertEquals(0, cardDeck.countBacks()); assertEquals(4, cardDeck.countFaces()); cardDeck.drawCard(); assertNull(cardDeck.getCurrentCard()); assertEquals(4, cardDeck.countBacks()); assertEquals(0, cardDeck.countFaces()); cardDeck.drawCard(); assertEquals(cards[7], cardDeck.getCurrentCard()); assertEquals(3, cardDeck.countBacks()); assertEquals(1, cardDeck.countFaces()); cardDeck.drawCard(); assertEquals(cards[5], cardDeck.getCurrentCard()); assertEquals(2, cardDeck.countBacks()); assertEquals(2, cardDeck.countFaces()); cardDeck.drawCard(); assertEquals(cards[3], cardDeck.getCurrentCard()); assertEquals(1, cardDeck.countBacks()); assertEquals(3, cardDeck.countFaces()); cardDeck.drawCard(); assertEquals(cards[1], cardDeck.getCurrentCard()); assertEquals(0, cardDeck.countBacks()); assertEquals(4, cardDeck.countFaces()); }
public void testTakeCard() { CardDeck cardDeck = new CardDeck(); cardDeck.init( new LinkedList<Card>( Arrays.asList( new Card[] { cards[1], cards[3], cards[5], cards[7], }))); assertNull(cardDeck.takeCard()); cardDeck.drawCard(); assertEquals(cards[7], cardDeck.takeCard()); cardDeck.drawCard(); assertEquals(cards[5], cardDeck.takeCard()); cardDeck.drawCard(); assertEquals(cards[3], cardDeck.takeCard()); cardDeck.drawCard(); assertEquals(cards[1], cardDeck.takeCard()); assertNull(cardDeck.takeCard()); cardDeck.drawCard(); assertNull(cardDeck.takeCard()); }