summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormokha <mokha@cisco.com>2019-05-05 18:26:54 -0600
committermokha <mokha@cisco.com>2019-05-05 18:26:54 -0600
commit715d57cb992b5945ed0de78ca4c10eb64d9e15b9 (patch)
treef8fe5a3ed66d6c45df858653c1e36e34b828cf93
parenta7d441bca4a47f66635f2d70cfc810de302d90f0 (diff)
reduce taxable income instead of doing a flat deduction from owed taxes
-rw-r--r--assignments/assignment1/src/main/java/ca/mokhan/assignment1/TaxReturn.java9
-rw-r--r--assignments/assignment1/src/test/java/ca/mokhan/assignment1/TaxReturnTest.java7
2 files changed, 9 insertions, 7 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 7611d62..c978974 100644
--- a/assignments/assignment1/src/main/java/ca/mokhan/assignment1/TaxReturn.java
+++ b/assignments/assignment1/src/main/java/ca/mokhan/assignment1/TaxReturn.java
@@ -24,12 +24,13 @@ public class TaxReturn {
this.income = income;
this.status = status;
this.children = children;
+ if (this.isSingle()) this.income -= children * 5000;
}
public double getTax() {
double tax = 0;
- if (status == SINGLE) {
+ if (isSingle()) {
if (income <= SINGLE_BRACKET1) tax = RATE1 * income;
else if (income <= SINGLE_BRACKET2)
tax = RATE1 * SINGLE_BRACKET1 + RATE2 * (income - SINGLE_BRACKET1);
@@ -38,8 +39,6 @@ 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)
@@ -60,6 +59,10 @@ public class TaxReturn {
public static final double MARRIED_BRACKET1 = 35800;
public static final double MARRIED_BRACKET2 = 86500;
+ private boolean isSingle() {
+ return this.status == SINGLE;
+ }
+
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Please enter your income: ");
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 00196f4..a45e795 100644
--- a/assignments/assignment1/src/test/java/ca/mokhan/assignment1/TaxReturnTest.java
+++ b/assignments/assignment1/src/test/java/ca/mokhan/assignment1/TaxReturnTest.java
@@ -20,19 +20,18 @@ public class TaxReturnTest extends TestCase {
public void test_SINGLE_BRACKET1_1_CHILD() {
assertEquals(
- 3217.4985 - 5000,
- new TaxReturn(TaxReturn.SINGLE_BRACKET1 - 0.01, TaxReturn.SINGLE, 1).getTax());
+ 2467.4985, new TaxReturn(TaxReturn.SINGLE_BRACKET1 - 0.01, TaxReturn.SINGLE, 1).getTax());
}
public void test_SINGLE_BRACKET1_2_CHILDREN() {
assertEquals(
- 3217.4985 - 10000,
+ 1717.4985000000001,
new TaxReturn(TaxReturn.SINGLE_BRACKET1 - 0.01, TaxReturn.SINGLE, 2).getTax());
}
public void test_SINGLE_BRACKET1_3_CHILDREN() {
assertEquals(
- 3217.4985 - 15000,
+ 967.4985000000001,
new TaxReturn(TaxReturn.SINGLE_BRACKET1 - 0.01, TaxReturn.SINGLE, 3).getTax());
}