Commit 98592c5
Changed files (2)
src/Q3/CreditCard.java
@@ -35,7 +35,7 @@ public class CreditCard {
}
public boolean isValid() {
- return false;
+ return this.validateCompany() && this.validateLength();
}
public boolean isDivisibleBy10() {
@@ -50,11 +50,13 @@ public class CreditCard {
}
public boolean validateLength() {
- return false;
+ return this.ccNumber.length() >= 13 && this.ccNumber.length() <= 16;
}
public boolean validateNumber() {
- return false;
+ for (int i = 0; i < this.ccNumber.length(); i++)
+ if (!Character.isDigit(this.ccNumber.charAt(i))) return false;
+ return true;
}
public boolean validateSums() {
src/Q3/CreditCardTest.java
@@ -28,10 +28,24 @@ public class CreditCardTest extends TestCase {
assertEquals(CreateSUT("6011111111111117").getCompany(), "Discover");
}
- public void test_getEvenSum() {
- assertEquals(CreateSUT("4388576018402626").getEvenSum(), 0);
+ public void test_validateLength() {
+ assertFalse(CreateSUT("411111111111").validateLength());
+ assertTrue(CreateSUT("4111111111111").validateLength());
+ assertTrue(CreateSUT("41111111111111").validateLength());
+ assertTrue(CreateSUT("411111111111111").validateLength());
+ assertTrue(CreateSUT("4111111111111111").validateLength());
+ assertFalse(CreateSUT("41111111111111111").validateLength());
}
+ public void test_validateNumber() {
+ assertTrue(CreateSUT("4111111111111111").validateNumber());
+ assertFalse(CreateSUT("hello").validateNumber());
+ }
+
+ // public void test_getEvenSum() {
+ // assertEquals(CreateSUT("4388576018402626").getEvenSum(), 0);
+ // }
+
// public void test_isValid() {
// assertTrue(CreateSUT("49927398716").isValid());
// assertFalse(CreateSUT("49927398717").isValid());