Skip to content

Commit

Permalink
test: adding playerTest
Browse files Browse the repository at this point in the history
  • Loading branch information
martin committed Mar 6, 2026
1 parent a898b7f commit e81d68b
Showing 1 changed file with 34 additions and 1 deletion.
35 changes: 34 additions & 1 deletion src/test/java/millions/PlayerTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,37 @@

import static org.junit.jupiter.api.Assertions.*;

class PlayerTest {}
import java.math.BigDecimal;
import org.junit.jupiter.api.Test;

class PlayerTest {

@Test
public void happyPath() {
Player player = new Player("name", BigDecimal.valueOf(1000));
assertEquals(BigDecimal.valueOf(1000), player.getMoney());

player.addMoney(BigDecimal.valueOf(500));
assertEquals(BigDecimal.valueOf(1500), player.getMoney());

player.withdrawMoney(BigDecimal.valueOf(200));
assertEquals(BigDecimal.valueOf(1300), player.getMoney());
}

@Test
public void testGetters() {
Player player = new Player("name", BigDecimal.valueOf(1000));
assertEquals("name", player.getName());
assertEquals(BigDecimal.valueOf(1000), player.getMoney());
assertTrue(player.getPortfolio().getShares().isEmpty());
assertTrue(player.getTransactionArchive().isEmpty());
}

@Test
public void testNullsAndInvalid() {
assertThrows(IllegalArgumentException.class, () -> new Player(null, BigDecimal.valueOf(1000)));
assertThrows(IllegalArgumentException.class, () -> new Player("", BigDecimal.valueOf(1000)));
assertThrows(IllegalArgumentException.class, () -> new Player("name", null));
assertThrows(IllegalArgumentException.class, () -> new Player("name", BigDecimal.valueOf(-1)));
}
}

0 comments on commit e81d68b

Please sign in to comment.