Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/enhancement/65-salecalculatortest'
Browse files Browse the repository at this point in the history
merge manually
  • Loading branch information
tommyah committed Mar 18, 2026
2 parents 0afdbbf + a103b34 commit 2386310
Showing 1 changed file with 55 additions and 3 deletions.
Original file line number Diff line number Diff line change
@@ -1,3 +1,55 @@
public class SaleCalculatorTest {

}
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 SaleCalculatorTest {

@Test
void calculateGrossReturnsSalesPriceTimesQuantity() {
Stock stock = new Stock("AAPL", "Apple", new BigDecimal("150"));
Share share = new Share(stock, new BigDecimal("2"), new BigDecimal("100"));
SaleCalculator calculator = new SaleCalculator(share);

assertEquals(new BigDecimal("300"), calculator.calculateGross());
}

@Test
void calculateCommissionReturnsOnePercentOfGross() {
Stock stock = new Stock("AAPL", "Apple", new BigDecimal("150"));
Share share = new Share(stock, new BigDecimal("2"), new BigDecimal("100"));
SaleCalculator calculator = new SaleCalculator(share);

assertEquals(new BigDecimal("3.00"), calculator.calculateCommission());
}

@Test
void calculateTaxReturnsThirtyPercentOfProfitWhenProfitIsPositive() {
Stock stock = new Stock("AAPL", "Apple", new BigDecimal("150"));
Share share = new Share(stock, new BigDecimal("2"), new BigDecimal("100"));
SaleCalculator calculator = new SaleCalculator(share);

assertEquals(new BigDecimal("29.1000"), calculator.calculateTax());
}

@Test
void calculateTaxReturnsZeroWhenProfitIsZeroOrNegative() {
Stock stock = new Stock("AAPL", "Apple", new BigDecimal("90"));
Share share = new Share(stock, new BigDecimal("2"), new BigDecimal("100"));
SaleCalculator calculator = new SaleCalculator(share);

assertEquals(BigDecimal.ZERO, calculator.calculateTax());
}

@Test
void calculateTotalReturnsGrossMinusCommissionMinusTax() {
Stock stock = new Stock("AAPL", "Apple", new BigDecimal("150"));
Share share = new Share(stock, new BigDecimal("2"), new BigDecimal("100"));
SaleCalculator calculator = new SaleCalculator(share);

assertEquals(new BigDecimal("267.9000"), calculator.calculateTotal());
}
}

0 comments on commit 2386310

Please sign in to comment.