package game.cash;
import game.PublicGameInfo;
import game.PublicPlayerInfo;
import game.cash.CashGameDescription;
import game.cash.SimulatedRebuy;
import org.junit.Before;
import org.junit.Test;
import static org.hamcrest.core.Is.is;
import static org.junit.Assert.assertThat;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
public class SimulatedRebuyTest {
CashGameDescription cashGameDescription;
SimulatedRebuy rebuy;
PublicPlayerInfo[] players = new PublicPlayerInfo[3];
PublicGameInfo gameInfo;
@Before
public void setup() {
cashGameDescription = mock(CashGameDescription.class);
when(cashGameDescription.getInitialBankRoll()).thenReturn(2.00D);
gameInfo = new PublicGameInfo();
gameInfo.setNumSeats(players.length);
for (int i = 0; i < players.length; i++) {
players[i] = new PublicPlayerInfo();
gameInfo.setPlayer(i, players[i]);
}
}
@Test
public void shouldOnlyResetPlayersWithNoMoneyLeft() {
rebuy = new SimulatedRebuy(0, 2.00D);
players[0].setBankroll(1.70D);
players[1].setBankroll(2.30D);
players[2].setBankroll(0.0D);
players[2].setSittingOut(true);
rebuy.checkPlayerRebuy(gameInfo);
assertThat(players[0].getBankRoll(), is(1.70D));
assertThat(players[1].getBankRoll(), is(2.30D));
assertThat(players[2].getBankRoll(), is(2.00D));
assertThat(players[2].isSittingOut(), is(false));
}
}