diff options
| author | mokha <mokha@cisco.com> | 2019-05-05 18:17:38 -0600 |
|---|---|---|
| committer | mokha <mokha@cisco.com> | 2019-05-05 18:17:38 -0600 |
| commit | a7d441bca4a47f66635f2d70cfc810de302d90f0 (patch) | |
| tree | 45431abd534089fd3eff1d25ec00a9330a70c02d | |
| parent | 55265f3d9e988ad843e56f91f4da8e38e8120486 (diff) | |
add single parent deduction
| -rw-r--r-- | assignments/assignment1/src/main/java/ca/mokhan/assignment1/TaxReturn.java | 29 | ||||
| -rw-r--r-- | assignments/assignment1/src/test/java/ca/mokhan/assignment1/TaxReturnTest.java | 18 |
2 files changed, 37 insertions, 10 deletions
diff --git a/assignments/assignment1/src/main/java/ca/mokhan/assignment1/TaxReturn.java b/assignments/assignment1/src/main/java/ca/mokhan/assignment1/TaxReturn.java index af01ad0..7611d62 100644 --- a/assignments/assignment1/src/main/java/ca/mokhan/assignment1/TaxReturn.java +++ b/assignments/assignment1/src/main/java/ca/mokhan/assignment1/TaxReturn.java @@ -3,15 +3,27 @@ package ca.mokhan.assignment1; import java.util.Scanner; public class TaxReturn { + private static final double RATE1 = 0.15; + private static final double RATE2 = 0.28; + private static final double RATE3 = 0.31; + private double income; + private int status; + private int children; + /** * Constructs a TaxReturn object for a given income and marital status, and computes the tax. * - * @param anIncome the taxpayer income - * @param aStatus either SINGLE or MARRIED + * @param income the taxpayer income + * @param status either SINGLE or MARRIED */ - public TaxReturn(double anIncome, int aStatus) { - income = anIncome; - status = aStatus; + public TaxReturn(double income, int status) { + this(income, status, 0); + } + + public TaxReturn(double income, int status, int children) { + this.income = income; + this.status = status; + this.children = children; } public double getTax() { @@ -26,6 +38,8 @@ public class TaxReturn { RATE1 * SINGLE_BRACKET1 + RATE2 * (SINGLE_BRACKET2 - SINGLE_BRACKET1) + RATE3 * (income - SINGLE_BRACKET2); + + tax -= this.children * 5000; } else { if (income <= MARRIED_BRACKET1) tax = RATE1 * income; else if (income <= MARRIED_BRACKET2) @@ -41,15 +55,10 @@ public class TaxReturn { public static final int SINGLE = 1; public static final int MARRIED = 2; - private static final double RATE1 = 0.15; - private static final double RATE2 = 0.28; - private static final double RATE3 = 0.31; public static final double SINGLE_BRACKET1 = 21450; public static final double SINGLE_BRACKET2 = 51900; public static final double MARRIED_BRACKET1 = 35800; public static final double MARRIED_BRACKET2 = 86500; - private double income; - private int status; public static void main(String[] args) { Scanner in = new Scanner(System.in); diff --git a/assignments/assignment1/src/test/java/ca/mokhan/assignment1/TaxReturnTest.java b/assignments/assignment1/src/test/java/ca/mokhan/assignment1/TaxReturnTest.java index e23add2..00196f4 100644 --- a/assignments/assignment1/src/test/java/ca/mokhan/assignment1/TaxReturnTest.java +++ b/assignments/assignment1/src/test/java/ca/mokhan/assignment1/TaxReturnTest.java @@ -18,6 +18,24 @@ public class TaxReturnTest extends TestCase { 3217.4985, new TaxReturn(TaxReturn.SINGLE_BRACKET1 - 0.01, TaxReturn.SINGLE).getTax()); } + public void test_SINGLE_BRACKET1_1_CHILD() { + assertEquals( + 3217.4985 - 5000, + new TaxReturn(TaxReturn.SINGLE_BRACKET1 - 0.01, TaxReturn.SINGLE, 1).getTax()); + } + + public void test_SINGLE_BRACKET1_2_CHILDREN() { + assertEquals( + 3217.4985 - 10000, + new TaxReturn(TaxReturn.SINGLE_BRACKET1 - 0.01, TaxReturn.SINGLE, 2).getTax()); + } + + public void test_SINGLE_BRACKET1_3_CHILDREN() { + assertEquals( + 3217.4985 - 15000, + new TaxReturn(TaxReturn.SINGLE_BRACKET1 - 0.01, TaxReturn.SINGLE, 3).getTax()); + } + public void test_SINGLE_BRACKET2() { assertEquals( 11743.4972, new TaxReturn(TaxReturn.SINGLE_BRACKET2 - 0.01, TaxReturn.SINGLE).getTax()); |
