package ca.mokhan.test; import Q3.*; import junit.framework.Test; import junit.framework.TestCase; import junit.framework.TestSuite; public class CreditCardTest extends TestCase { private CreditCard subject; public CreditCardTest(String testName) { super(testName); } public static Test suite() { return new TestSuite(CreditCardTest.class); } public void test_getCompany() { assertEquals(CreateSUT("4111111111111111").getCompany(), "Visa"); assertEquals(CreateSUT("5555555555554444").getCompany(), "MasterCard"); assertEquals(CreateSUT("378282246310005").getCompany(), "American Express"); assertEquals(CreateSUT("6011111111111117").getCompany(), "Discover"); } 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_isValid() { assertFalse(CreateSUT("49927398717").isValid()); assertFalse(CreateSUT("1234567812345678").isValid()); assertTrue(CreateSUT("4111111111111111").isValid()); assertTrue(CreateSUT("5555555555554444").isValid()); assertTrue(CreateSUT("378282246310005").isValid()); assertTrue(CreateSUT("6011111111111117").isValid()); } public void test_getOddSum() { assertEquals(42, CreateSUT("49927398716").getOddSum()); assertEquals(38, CreateSUT("4388576018402626").getOddSum()); } public void test_getEvenSum() { assertEquals(28, CreateSUT("49927398716").getEvenSum()); assertEquals(37, CreateSUT("4388576018402626").getEvenSum()); } private CreditCard CreateSUT(String number) { return new CreditCard(number); } private CreditCard CreateSUT() { return new CreditCard("1234567812345670"); } }