package bank_card import ( "github.com/stretchr/testify/assert" "testing" ) func TestIsValidLuhn(t *testing.T) { var validBankCards = []string{ "79927398713", "6226095711989751", "49927398716", "1234567812345670", "356938035643809", "1111222233334444", "374652346956782346957823694857692364857368475368", "6228480402564890018", "6228480402637874213", "6228481552887309119", "6228480801416266113", "6228481698729890079", "6222081106004039591", } var invalidBankCards = []string{ "49927398717", "1234567812345678", "314143525252", "534618613411236", "1234567879855431", "374652346956782346957823694857692364857387456834", "79927398710", "79927398711", "79927398711", "79927398712", "79927398714", "79927398715", "79927398716", "79927398717", "79927398718", "79927398719", "621661280000447287", } for _, w := range validBankCards { t.Run("valid bank card: "+w, func(t *testing.T) { assert.True(t, IsValidLuhn(w)) }) } for _, w := range invalidBankCards { t.Run("invalid bank card: "+w, func(t *testing.T) { assert.False(t, IsValidLuhn(w)) }) } } func TestIsValidBankCardNo(t *testing.T) { var validBankCards = []string{ "6226095711989751", "6228480402564890018", "6228480402637874213", "6228481552887309119", "6228480801416266113", "6228481698729890079", "6222081106004039591", "1234567812345670", "356938035643809", "1111222233334444", } var invalidBankCards = []string{ "49927398717", "1234567812345678", "314143525252", "534618613411236", "1234567879855431", "374652346956782346957823694857692364857387456834", "79927398710", "79927398711", "79927398711", "79927398712", "79927398714", "79927398715", "79927398716", "79927398717", "79927398718", "79927398719", "621661280000447287", "79927398713", "49927398716", "374652346956782346957823694857692364857368475368", } for _, w := range validBankCards { t.Run("valid bank card: "+w, func(t *testing.T) { assert.True(t, IsValidBankCardNo(w)) }) } for _, w := range invalidBankCards { t.Run("invalid bank card: "+w, func(t *testing.T) { assert.False(t, IsValidBankCardNo(w)) }) } }