Skip to content

Commit

Permalink
Update PurchaseTest.java
Browse files Browse the repository at this point in the history
  • Loading branch information
tommyah committed May 25, 2026
1 parent 44ff6e3 commit d34b9a2
Showing 1 changed file with 49 additions and 20 deletions.
Original file line number Diff line number Diff line change
@@ -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;

/**
Expand All @@ -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());
}
}

0 comments on commit d34b9a2

Please sign in to comment.