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 4ebae9c..4c73305 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()); + } }