protected override bool EvaluateIsValid() { string value = GetControlValidationValue(ControlToValidate); if (AllowEmpty && String.IsNullOrEmpty(value)) { return(true); } return(LuhnUtility.IsCardNumberValid(value, AllowSpaces)); }
public override bool IsValid(object value) { string cardNumber = (string)value; if (String.IsNullOrEmpty(cardNumber)) { return(AllowEmpty); } return(LuhnUtility.IsCardNumberValid(cardNumber, AllowSpaces)); }
public void CalculateCheckDigitShouldFailForInvalidInput(string value) { var exception = Assert.ThrowsAny <Exception>(() => LuhnUtility.CalculateCheckDigit(value)); Assert.Contains( exception.GetType(), new List <Type> { typeof(ArgumentNullException), typeof(ArgumentException) } ); }
public void ValidationShouldReturnTrueForValidInput(string input) { Assert.True(LuhnUtility.Validate(input)); }
public void ValidationShouldReturnFalseButNotThrowForInvalidInput(string input) { Assert.False(LuhnUtility.Validate(input)); }
public void CalculateCheckDigitShouldGenerateValidCheckDigits(string inputValue, int expectedCheckDigit) { Assert.True(LuhnUtility.TryCalculateCheckDigit(inputValue, out var actualCheckDigit)); Assert.Equal(expectedCheckDigit, actualCheckDigit); }