Skip to content

Commit

Permalink
Unit Test PurchaseCalculator class
Browse files Browse the repository at this point in the history
  • Loading branch information
EspenTinius committed Mar 14, 2026
1 parent 6931e12 commit e260cfa
Showing 1 changed file with 45 additions and 3 deletions.
Original file line number Diff line number Diff line change
@@ -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());
}
}

0 comments on commit e260cfa

Please sign in to comment.