Skip to content

Commit

Permalink
Added Checkstyle to SaleCalculator
Browse files Browse the repository at this point in the history
  • Loading branch information
elisab3 committed May 24, 2026
1 parent e2c15cb commit b8e334c
Showing 1 changed file with 44 additions and 29 deletions.
73 changes: 44 additions & 29 deletions src/main/java/Model/SaleCalculator.java
Original file line number Diff line number Diff line change
@@ -1,36 +1,51 @@
package Model;

import java.math.BigDecimal;

/**
* SaleCalculator class that calculates gross, commission, tax and total.
*/
public class SaleCalculator implements TransactionCalculator{
private BigDecimal purchasePrice;
private BigDecimal salesPrice;
private BigDecimal quantity;

public SaleCalculator(Share share) {
this.purchasePrice = share.getPurchasePrice();
this.salesPrice = share.getStock().getSalesPrice();
this.quantity = share.getQuantity();
}

public BigDecimal calculateGross() {
return this.salesPrice.multiply(this.quantity);
}

public BigDecimal calculateCommission() {
BigDecimal rate = new BigDecimal("0.01");
return calculateGross().multiply(rate);
}

public BigDecimal calculateTax() {
BigDecimal sellingCost = this.purchasePrice.multiply(this.quantity);
BigDecimal profit = calculateGross().subtract(calculateCommission()).subtract(sellingCost);
BigDecimal rate = new BigDecimal("0.3");
return profit.multiply(rate);
}

public BigDecimal calculateTotal() {
return calculateGross().subtract(calculateCommission()).subtract(calculateTax());
}
private BigDecimal purchasePrice;
private BigDecimal salesPrice;
private BigDecimal quantity;

/**
* Method with parameters.
*
* @param share share from calculator
*/
public SaleCalculator(Share share) {
this.purchasePrice = share.getPurchasePrice();
this.salesPrice = share.getStock().getSalesPrice();
this.quantity = share.getQuantity();
}

@Override
public BigDecimal calculateGross() {
return this.salesPrice.multiply(this.quantity);
}

@Override
public BigDecimal calculateCommission() {
BigDecimal rate = new BigDecimal("0.01");
return calculateGross().multiply(rate);
}

/**
* Method that calculates tax.
*/
public BigDecimal calculateTax() {
BigDecimal sellingCost = this.purchasePrice.multiply(this.quantity);
BigDecimal profit = calculateGross().subtract(calculateCommission()).subtract(sellingCost);
BigDecimal rate = new BigDecimal("0.3");
return profit.multiply(rate);
}

@Override
public BigDecimal calculateTotal() {
return calculateGross().subtract(calculateCommission()).subtract(calculateTax());
}



Expand Down

0 comments on commit b8e334c

Please sign in to comment.