diff options
| author | mokha <mokha@cisco.com> | 2019-05-05 19:08:42 -0600 |
|---|---|---|
| committer | mokha <mokha@cisco.com> | 2019-05-05 19:08:42 -0600 |
| commit | 93762f2afca80642bed7e5a493380ef3390fc5a7 (patch) | |
| tree | 195e9432a0e834b0114b81a9f8f77306166d5c56 | |
| parent | 33ee1f014f39025e5fac886b16dff7463e67e0a6 (diff) | |
add additional tax for income from $150,000 - $250,000
| -rw-r--r-- | assignments/assignment1/src/main/java/ca/mokhan/assignment1/TaxReturn.java | 11 | ||||
| -rw-r--r-- | assignments/assignment1/src/test/java/ca/mokhan/assignment1/TaxReturnTest.java | 13 |
2 files changed, 21 insertions, 3 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 c978974..fe0f664 100644 --- a/assignments/assignment1/src/main/java/ca/mokhan/assignment1/TaxReturn.java +++ b/assignments/assignment1/src/main/java/ca/mokhan/assignment1/TaxReturn.java @@ -3,9 +3,6 @@ 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; @@ -39,6 +36,8 @@ public class TaxReturn { RATE1 * SINGLE_BRACKET1 + RATE2 * (SINGLE_BRACKET2 - SINGLE_BRACKET1) + RATE3 * (income - SINGLE_BRACKET2); + + if (income > 249999.0) tax += (income - 150000) * 0.25; } else { if (income <= MARRIED_BRACKET1) tax = RATE1 * income; else if (income <= MARRIED_BRACKET2) @@ -54,8 +53,14 @@ public class TaxReturn { public static final int SINGLE = 1; public static final int MARRIED = 2; + + public static final double RATE1 = 0.15; + public static final double RATE2 = 0.28; + public 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; 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 cdc592b..421fc44 100644 --- a/assignments/assignment1/src/test/java/ca/mokhan/assignment1/TaxReturnTest.java +++ b/assignments/assignment1/src/test/java/ca/mokhan/assignment1/TaxReturnTest.java @@ -43,6 +43,19 @@ public class TaxReturnTest extends TestCase { assertEquals(11743.5031, subject.getTax()); } + // if the income is greater than $249,999 for SINGLE, then add a tax of 25% on income amount above + // $150,000; + public void test_SINGLE_Income_Greater_Than_250K() { + // $0 - $21450: 0.15% = $3,217.5 + // $21450 - $51900: 0.28% = $8,526.0 + // $51900 - $250,000: 0.31% = $61411.0 + // $150,000 - $250,000: 0.25% = $25,000.0 + // total: $98,154.50 + + TaxReturn subject = new TaxReturn(250000, TaxReturn.SINGLE); + assertEquals(98154.50, subject.getTax()); + } + public void test_MARRIED_BRACKET1() { TaxReturn subject = new TaxReturn(TaxReturn.MARRIED_BRACKET1 - 0.01, TaxReturn.MARRIED); assertEquals(5369.9985, subject.getTax()); |
