summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormo <mo.khan@gmail.com>2019-06-09 19:30:24 -0600
committermo <mo.khan@gmail.com>2019-06-09 19:30:24 -0600
commit98592c539c36a989ea1226c2578a93abc95db1fe (patch)
tree3178a941ca41e68b82899d56bd1d70922bb7f052 /src
parent950afb40ac30668f3358d7eab2a1b04c1e2c591b (diff)
validate length and number
Diffstat (limited to 'src')
-rw-r--r--src/Q3/CreditCard.java8
-rw-r--r--src/Q3/CreditCardTest.java18
2 files changed, 21 insertions, 5 deletions
diff --git a/src/Q3/CreditCard.java b/src/Q3/CreditCard.java
index 1146129..e6dc0f8 100644
--- a/src/Q3/CreditCard.java
+++ b/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() {
diff --git a/src/Q3/CreditCardTest.java b/src/Q3/CreditCardTest.java
index dbbd996..1f4ec49 100644
--- a/src/Q3/CreditCardTest.java
+++ b/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());