From e81d68bcadcc848b92a73cd89572152e4cc2d0a6 Mon Sep 17 00:00:00 2001 From: martin Date: Fri, 6 Mar 2026 13:16:17 +0100 Subject: [PATCH] test: adding playerTest --- src/test/java/millions/PlayerTest.java | 35 +++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/src/test/java/millions/PlayerTest.java b/src/test/java/millions/PlayerTest.java index 62a3263..99cfb45 100644 --- a/src/test/java/millions/PlayerTest.java +++ b/src/test/java/millions/PlayerTest.java @@ -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))); + } +}