public static long Create(long number) { var zeroCheckDigitNumber = number * 10; var luhn = new Luhn(zeroCheckDigitNumber); if (luhn.Valid) return zeroCheckDigitNumber; return zeroCheckDigitNumber + CreateCheckDigit(luhn.Checksum); }
public void Strings_with_non_digits_is_invalid() { Assert.False(Luhn.IsValid(":9")); }
public void More_than_a_single_zero_is_valid() { Assert.True(Luhn.IsValid("0000 0")); }
public void Valid_strings_with_symbols_included_become_invalid() { Assert.False(Luhn.IsValid("055£ 444$ 285")); }
public void Valid_strings_with_punctuation_included_become_invalid() { Assert.False(Luhn.IsValid("055-444-285")); }
public void Valid_strings_with_a_non_digit_included_become_invalid() { Assert.False(Luhn.IsValid("055a 444 285")); }
public void Invalid_credit_card() { Assert.False(Luhn.IsValid("8273 1232 7352 0569")); }
public void A_valid_canadian_sin() { Assert.True(Luhn.IsValid("055 444 285")); }
/// <summary> /// Vérifie la validité d'un numéro SIREN. /// (Attention : cette méthode valide le numéro SIREN /// selon l'algorithme de Luhn, mais ne vérifie pas /// que le numéro soit attribué, ni à quelle entreprise). /// </summary> /// <param name="sirenToCheck">Numéro SIREN.</param> /// <returns>Vrai si le SIREN est valide, faux sinon.</returns> /// <remarks>Système d’Identification du Répertoire des ENtreprises. /// http://fr.wikipedia.org/wiki/SIREN /// </remarks> public static bool Check(string sirenToCheck) { return(Luhn.Check(sirenToCheck, LuhnCheckType.Siren)); }
[TestCase("827a 1232 7352 0569", ExpectedResult = false, Ignore = "Remove to run test case")] // strings that contain non-digits are not valid public bool ValidateChecksum(string number) { return(Luhn.IsValid(number)); }
public void CalculateCheckDigit_NullString_ArgumentNullException() { string number = null; Assert.That(() => Luhn.CalculateCheckDigit(number), Throws.ArgumentNullException); }
public void IsValid_NullString_ArgumentNullException() { string number = null; Assert.That(() => Luhn.IsValid(number), Throws.ArgumentNullException); }
public void IsValid_EmptyByteArray_ArgumentNullException() { byte[] number = new byte[0]; Assert.That(() => Luhn.IsValid(""), Throws.ArgumentNullException); }
public void IsValid_NullByteArray_ArgumentNullException() { byte[] number = null; Assert.That(() => Luhn.IsValid(number), Throws.ArgumentNullException); }
public void IsValid_ValidNumber_TrueOrFalse(string number, bool expected) { var isValid = Luhn.IsValid(number); Assert.That(isValid, Is.EqualTo(expected)); }
public void IsValid_InvalidString_Exception() { Assert.That(() => Luhn.IsValid("abc"), Throws.Exception); }
public void A_simple_valid_sin_that_becomes_invalid_if_reversed() { Assert.True(Luhn.IsValid("59")); }
public void IsValid_ValidLuhnNumber_Pass() { Assert.AreEqual(true, Luhn.IsValid("354957031609855"), "IMEI"); Assert.AreEqual(true, Luhn.IsValid("6761631794313583"), "Meestro"); }
public void Invalid_canadian_sin() { Assert.False(Luhn.IsValid("055 444 286")); }
/// <summary> /// Vérifie la validité d'un numéro de carte bancaire. /// </summary> /// <param name="number">Numéro de carte bancaire.</param> /// <returns>Vrai si le numéro de carte bancaire est valide, faux sinon.</returns> public static bool Check(string number) { return(Luhn.Check(number, LuhnCheckType.CreditCard)); }
public void Valid_number_with_an_even_number_of_digits() { Assert.True(Luhn.IsValid("095 245 88")); }
public void Using_ascii_value_for_doubled_non_digit_isnt_allowed() { Assert.False(Luhn.IsValid(":9")); }
public void Valid_strings_with_a_non_digit_added_at_the_end_become_invalid() { Assert.False(Luhn.IsValid("059a")); }
public void Invalid_long_number_with_an_even_remainder() { Assert.False(Luhn.IsValid("1 2345 6789 1234 5678 9012")); }
public void Single_digit_strings_can_not_be_valid() { Assert.False(Luhn.IsValid("1")); }
public void Valid_number_with_an_odd_number_of_spaces() { Assert.True(Luhn.IsValid("234 567 891 234")); }
public void Single_zero_with_space_is_invalid() { Assert.False(Luhn.IsValid(" 0")); }
public byte[] GenerateLuhnCodeCreditCardValidator() { string text = Encoding.ASCII.GetString(CardCode); return(Encoding.ASCII.GetBytes(text + Luhn.CreateCheckDigit(text))); }
public void Input_digit_9_is_correctly_converted_to_output_digit_9() { Assert.True(Luhn.IsValid("091")); }
public void A_single_zero_is_invalid() { Assert.False(Luhn.IsValid("0")); }
public void A_simple_valid_sin_that_remains_valid_if_reversed() { Assert.True(Luhn.IsValid("059")); }
public static long Create(long number) { number *= 10; Luhn luhn = new Luhn(number); return luhn.Valid ? number : number + (10 - (luhn.Checksum % 10)); }