From d34b9a23077505407e07b279c31c294ffc5ae17f Mon Sep 17 00:00:00 2001 From: = Date: Mon, 25 May 2026 19:50:31 +0200 Subject: [PATCH] Update PurchaseTest.java --- .../g40/mappe/model/PurchaseTest.java | 69 +++++++++++++------ 1 file changed, 49 insertions(+), 20 deletions(-) diff --git a/src/test/java/edu/ntnu/idi/idatt2003/g40/mappe/model/PurchaseTest.java b/src/test/java/edu/ntnu/idi/idatt2003/g40/mappe/model/PurchaseTest.java index 42caf80..b2c03c6 100644 --- a/src/test/java/edu/ntnu/idi/idatt2003/g40/mappe/model/PurchaseTest.java +++ b/src/test/java/edu/ntnu/idi/idatt2003/g40/mappe/model/PurchaseTest.java @@ -1,11 +1,14 @@ package edu.ntnu.idi.idatt2003.g40.mappe.model; +import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; -import java.math.BigDecimal; - import edu.ntnu.idi.idatt2003.g40.mappe.service.PurchaseCalculator; +import java.math.BigDecimal; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; /** @@ -14,44 +17,70 @@ final class PurchaseTest { /** - * Valid test stock. + * Test purchase used in various tests. * */ - private final Stock testStock = - new Stock("AAPL", "Apple Inc.", new BigDecimal("100.00")); + private Purchase testPurchase; /** * Valid test share. * */ - private final Share testShare = - new Share(testStock, new BigDecimal("10"), new BigDecimal("10")); + private Share testShare; /** * Valid test purchase calculator. * */ - private final PurchaseCalculator testPurchaseCalculator = - new PurchaseCalculator(testShare); + private PurchaseCalculator testPurchaseCalculator; /** * Valid test player. * */ - private final Player testPlayer = - new Player("TestName", new BigDecimal("1000.00")); + private Player testPlayer; + + @BeforeEach + void setUp() { + Stock testStock = new Stock( + "AAPL", + "Apple Inc.", + new BigDecimal("100.00") + ); + testShare = new Share( + testStock, + new BigDecimal("10"), + new BigDecimal("10") + ); + testPurchaseCalculator = new PurchaseCalculator(testShare); + testPlayer = new Player("TestName", new BigDecimal("1000.00")); + testPurchase = new Purchase(testShare, 1, testPurchaseCalculator); + } @Test void constructorSetsValues() { - Purchase purchase = new Purchase(testShare, 1, testPurchaseCalculator); - - assertEquals(testShare, purchase.getShare()); - assertEquals(1, purchase.getWeek()); - assertEquals(testPurchaseCalculator, purchase.getCalculator()); + assertEquals(testShare, testPurchase.getShare()); + assertEquals(1, testPurchase.getWeek()); + assertEquals(testPurchaseCalculator, testPurchase.getCalculator()); } @Test - void commitMethodSetsCommitToTrue() { - Purchase purchase = new Purchase(testShare, 1, testPurchaseCalculator); + void constructorThrowsExceptionOnIllegalArguments() { + assertDoesNotThrow( + () -> new Purchase(testShare, 1, testPurchaseCalculator) + ); - purchase.commit(testPlayer); + assertThrows(IllegalArgumentException.class, + () -> new Purchase(null, 1, testPurchaseCalculator) + ); + assertThrows(IllegalArgumentException.class, + () -> new Purchase(testShare, 0, testPurchaseCalculator) + ); + assertThrows(IllegalArgumentException.class, + () -> new Purchase(testShare, 1, null) + ); + } - assertTrue(purchase.isCommited()); + @Test + void commitMethodSetsCommitToTrue() { + assertFalse(testPurchase.isCommited()); + testPurchase.commit(testPlayer); + assertTrue(testPurchase.isCommited()); } }