def __init__(self, creditCardNumber, cardHolder, expirationDate, securityCode, amount): fct.verifyCreditCardNumber(creditCardNumber) fct.verifyCardHolder(cardHolder) fct.verifyExpirationDate(expirationDate) fct.verifySecurityCode(securityCode) fct.verifyAmount(amount) self.creditCardNumber = creditCardNumber self.cardHolder = cardHolder self.expirationDate = expirationDate self.securityCode = securityCode self.amount = amount
def test_CardNumberInputIsString(): with pytest.raises(TypeError): h.verifyCreditCardNumber(1234567812345670)
def test_ShouldPassLuhnAlgorithm(): assert h.verifyCreditCardNumber("1234567812345670") == True
def test_ShouldFailLuhnAlgortihm(): with pytest.raises(ValueError): assert h.verifyCreditCardNumber("1234567812345678") == False
def test_CardNumberLengthIsEqualTo16(): with pytest.raises(ValueError): h.verifyCreditCardNumber("123456781234567")
def test_CardNumberContainsOnlyDigits(): with pytest.raises(ValueError): h.verifyCreditCardNumber("12345678123456h7")