From e260cfaaa0c01ccef134ad8f8149c57c1417afcf Mon Sep 17 00:00:00 2001 From: EspenTinius Date: Sat, 14 Mar 2026 08:16:51 +0100 Subject: [PATCH] Unit Test PurchaseCalculator class --- .../g40/mappe/PurchaseCalculatorTest.java | 48 +++++++++++++++++-- 1 file changed, 45 insertions(+), 3 deletions(-) diff --git a/src/test/java/edu/ntnu/idi/idatt2003/g40/mappe/PurchaseCalculatorTest.java b/src/test/java/edu/ntnu/idi/idatt2003/g40/mappe/PurchaseCalculatorTest.java index 6737cf2..15091a7 100644 --- a/src/test/java/edu/ntnu/idi/idatt2003/g40/mappe/PurchaseCalculatorTest.java +++ b/src/test/java/edu/ntnu/idi/idatt2003/g40/mappe/PurchaseCalculatorTest.java @@ -1,3 +1,45 @@ -public class PurchaseCalculatorTest { - -} +package edu.ntnu.idi.idatt2003.g40.mappe; + +import org.junit.jupiter.api.Test; +import java.math.BigDecimal; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +class PurchaseCalculatorTest { + + @Test + void calculateGrossReturnsPurchasePriceTimesQuantity() { + Stock stock = new Stock("AAPL", "Apple", new BigDecimal("150")); + Share share = new Share(stock, new BigDecimal("2"), new BigDecimal("100")); + PurchaseCalculator calculator = new PurchaseCalculator(share); + + assertEquals(new BigDecimal("200"), calculator.calculateGross()); + } + + @Test + void calculateCommissionReturnsHalfPercentOfGross() { + Stock stock = new Stock("AAPL", "Apple", new BigDecimal("150")); + Share share = new Share(stock, new BigDecimal("2"), new BigDecimal("100")); + PurchaseCalculator calculator = new PurchaseCalculator(share); + + assertEquals(new BigDecimal("1.000"), calculator.calculateCommission()); + } + + @Test + void calculateTaxReturnsZero() { + Stock stock = new Stock("AAPL", "Apple", new BigDecimal("150")); + Share share = new Share(stock, new BigDecimal("2"), new BigDecimal("100")); + PurchaseCalculator calculator = new PurchaseCalculator(share); + + assertEquals(BigDecimal.ZERO, calculator.calculateTax()); + } + + @Test + void calculateTotalReturnsGrossPlusCommission() { + Stock stock = new Stock("AAPL", "Apple", new BigDecimal("150")); + Share share = new Share(stock, new BigDecimal("2"), new BigDecimal("100")); + PurchaseCalculator calculator = new PurchaseCalculator(share); + + assertEquals(new BigDecimal("201.000"), calculator.calculateTotal()); + } +} \ No newline at end of file