You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 lines
1.3 KiB

import org.junit.jupiter.api.Test;
import java.util.Random;
import static org.junit.jupiter.api.Assertions.*;
class PileTest {
@Test
void shuffleEmptyPile() {
Pile pile = new Pile();
pile.shuffle();
assertEquals(0, pile.size());
}
@Test
void shuffleOneCard() {
Pile pile = new Pile();
pile.add(new Card(1, Card.Suit.CLUBS));
pile.shuffle();
assertEquals(1, pile.size());
assertEquals(1, pile.size());
}
@Test
void shuffleCards() {
Pile pile = new Pile();
pile.add(new Card(1, Card.Suit.CLUBS));
pile.add(new Card(2, Card.Suit.DIAMONDS));
pile.add(new Card(3, Card.Suit.HEARTS));
pile.add(new Card(4, Card.Suit.SPADES));
Random random = new Random(1);
pile.shuffle(random);
assertEquals(4, pile.get(0).number);
assertEquals(Card.Suit.SPADES, pile.get(0).suit);
assertEquals(1, pile.get(1).number);
assertEquals(Card.Suit.CLUBS, pile.get(1).suit);
assertEquals(2, pile.get(2).number);
assertEquals(Card.Suit.DIAMONDS, pile.get(2).suit);
assertEquals(3, pile.get(3).number);
assertEquals(Card.Suit.HEARTS, pile.get(3).suit);
assertEquals(4, pile.size());
}
}