package com.flexpoker.table.command.aggregate.pot; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import java.util.Arrays; import java.util.HashSet; import java.util.UUID; import org.junit.Test; import com.flexpoker.exception.FlexPokerException; import com.flexpoker.model.HandRanking; import com.flexpoker.model.card.CardRank; import com.flexpoker.table.command.aggregate.HandEvaluation; public class BasicPotTest { @Test public void testPotIsOpenOnCreate() { Pot pot = createGenericPot(); assertTrue(pot.isOpen()); } @Test public void testPotClosesAfterClosing() { Pot pot = createGenericPot(); pot.closePot(); assertFalse(pot.isOpen()); } @Test(expected = FlexPokerException.class) public void testPotCannotBeAddedToAfterClosing() { Pot pot = createGenericPot(); pot.closePot(); pot.addChips(60); } @Test(expected = FlexPokerException.class) public void testPotCannotHaveAPlayerRemovedAfterClosing() { Pot pot = createGenericPot(); pot.closePot(); pot.removePlayer(UUID.randomUUID()); } private Pot createGenericPot() { UUID player1 = UUID.randomUUID(); UUID player2 = UUID.randomUUID(); HandEvaluation handEvaluation1 = new HandEvaluation(); handEvaluation1.setPlayerId(player1); handEvaluation1.setHandRanking(HandRanking.STRAIGHT); handEvaluation1.setPrimaryCardRank(CardRank.EIGHT); HandEvaluation handEvaluation2 = new HandEvaluation(); handEvaluation2.setPlayerId(player2); handEvaluation2.setHandRanking(HandRanking.STRAIGHT); handEvaluation2.setPrimaryCardRank(CardRank.KING); Pot pot = new Pot(UUID.randomUUID(), new HashSet<>(Arrays.asList(handEvaluation1, handEvaluation2))); return pot; } }