summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormo <mo.khan@gmail.com>2019-06-09 19:15:22 -0600
committermo <mo.khan@gmail.com>2019-06-09 19:15:22 -0600
commit950afb40ac30668f3358d7eab2a1b04c1e2c591b (patch)
treedb0a98042051a8311223e0b3683421b44acbd023 /src
parentac9703fb2f428c58ac3dff57b5ecb02ab7d6ed87 (diff)
extract identifyCompany method
Diffstat (limited to 'src')
-rw-r--r--src/Q3/CreditCard.java33
-rw-r--r--src/Q3/CreditCardTest.java8
2 files changed, 21 insertions, 20 deletions
diff --git a/src/Q3/CreditCard.java b/src/Q3/CreditCard.java
index e82eb6c..1146129 100644
--- a/src/Q3/CreditCard.java
+++ b/src/Q3/CreditCard.java
@@ -11,22 +11,7 @@ public class CreditCard {
public CreditCard(String num) {
this.ccNumber = num;
- if (validateCompany()) {
- switch (num.charAt(0)) {
- case '3':
- this.company = "American Express";
- break;
- case '4':
- this.company = "Visa";
- break;
- case '5':
- this.company = "MasterCard";
- break;
- case '6':
- this.company = "Discover";
- break;
- }
- }
+ this.company = this.identifyCompany(num);
}
public int getEvenSum() {
@@ -75,4 +60,20 @@ public class CreditCard {
public boolean validateSums() {
return false;
}
+
+ private String identifyCompany(String number) {
+ if (validateCompany())
+ switch (number.charAt(0)) {
+ case '3':
+ return "American Express";
+ case '4':
+ return "Visa";
+ case '5':
+ return "MasterCard";
+ case '6':
+ return "Discover";
+ }
+
+ return "Unknown";
+ }
}
diff --git a/src/Q3/CreditCardTest.java b/src/Q3/CreditCardTest.java
index 373e79e..dbbd996 100644
--- a/src/Q3/CreditCardTest.java
+++ b/src/Q3/CreditCardTest.java
@@ -21,10 +21,6 @@ public class CreditCardTest extends TestCase {
assertTrue(true);
}
- // 4 for Visa cards
- // 5 for Master cards,
- // 37 for American Express cards,
- // 6 for Discover cards.
public void test_getCompany() {
assertEquals(CreateSUT("4111111111111111").getCompany(), "Visa");
assertEquals(CreateSUT("5555555555554444").getCompany(), "MasterCard");
@@ -32,6 +28,10 @@ public class CreditCardTest extends TestCase {
assertEquals(CreateSUT("6011111111111117").getCompany(), "Discover");
}
+ public void test_getEvenSum() {
+ assertEquals(CreateSUT("4388576018402626").getEvenSum(), 0);
+ }
+
// public void test_isValid() {
// assertTrue(CreateSUT("49927398716").isValid());
// assertFalse(CreateSUT("49927398717").isValid());