public void TestRandomAmexNumber() { var testResult = AmexCc.RandomAmexNumber(); Assert.IsNotNull(testResult); Assert.IsNotNull(testResult.Value); Assert.AreEqual(15, testResult.Value.Length); Assert.IsTrue(Regex.IsMatch(testResult.Value, "^3(4|7)")); Console.WriteLine(testResult.ToString()); }
public void TestAmexCcCtor() { var ccNum = "3754151538861370"; try { var badLength = new AmexCc(ccNum, new VocaBase("Bee Cardholder"), null, null); Assert.Fail($"The value {ccNum} is too long and should have failed."); } catch (ArgumentException) { Assert.Pass(); } ccNum = "375415153886137"; var isValid = new AmexCc(ccNum, new VocaBase("Bee Cardholder"), null, null); Assert.IsNotNull(isValid); ccNum = "385415153886130"; try { var badChkDigit = new AmexCc(ccNum, new VocaBase("Bee Cardholder"), null, null); Assert.Fail($"The value {ccNum} has the wrong check digit."); } catch (ArgumentException) { Assert.Pass(); } ccNum = "4263800185720486"; try { var badChkDigit = new AmexCc(ccNum, new VocaBase("Bee Cardholder"), null, null); Assert.Fail($"The value {ccNum} is not AMEX pattern"); } catch (ArgumentException) { Assert.Pass(); } }