Commit 950afb4
Changed files (2)
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";
+ }
}
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());