From 963481b493489465709fb825c756e45ed39de755 Mon Sep 17 00:00:00 2001 From: martin Date: Fri, 6 Mar 2026 14:28:47 +0100 Subject: [PATCH] test: adding ShareTest --- src/test/java/millions/ShareTest.java | 31 ++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/src/test/java/millions/ShareTest.java b/src/test/java/millions/ShareTest.java index cf3d676..0925c5b 100644 --- a/src/test/java/millions/ShareTest.java +++ b/src/test/java/millions/ShareTest.java @@ -2,4 +2,33 @@ import static org.junit.jupiter.api.Assertions.*; -class ShareTest {} +import java.math.BigDecimal; +import org.junit.jupiter.api.Test; + +class ShareTest { + + @Test + public void testHappyPath() { + Stock stock = new Stock("AYO", "Ayhoo", BigDecimal.valueOf(10)); + Share share = new Share(stock, 5, BigDecimal.valueOf(10)); + assertEquals(BigDecimal.valueOf(5), share.getQuantity()); + } + + @Test + public void testGetters() { + Stock stock = new Stock("AYO", "Ayhoo", BigDecimal.valueOf(10)); + Share share = new Share(stock, 5, BigDecimal.valueOf(10)); + assertEquals(BigDecimal.valueOf(5), share.getQuantity()); + assertEquals(stock, share.getStock()); + assertEquals(BigDecimal.valueOf(10), share.getPurchasePrice()); + } + + @Test + public void testNullsAndInvalid() { + Stock stock = new Stock("AYO", "Ayhoo", BigDecimal.valueOf(10)); + assertThrows(IllegalArgumentException.class, () -> new Share(null, 2, BigDecimal.valueOf(2))); + assertThrows(IllegalArgumentException.class, () -> new Share(stock, 2, null)); + assertThrows( + IllegalArgumentException.class, () -> new Share(stock, null, BigDecimal.valueOf(2))); + } +}