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()); } }