130 lines
2.6 KiB
Go
130 lines
2.6 KiB
Go
package common
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
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))
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestGetNameOfBank(t *testing.T) {
|
|
var validBankCards = []string{
|
|
"6226095711989751",
|
|
"6228480402564890018",
|
|
"6228480402637874213",
|
|
"6228481552887309119",
|
|
"6228480801416266113",
|
|
"6228481698729890079",
|
|
"621661280000447287",
|
|
"6222081106004039591",
|
|
}
|
|
|
|
for _, w := range validBankCards {
|
|
t.Run("get bank card of name: "+w, func(t *testing.T) {
|
|
name := GetNameOfBank(w)
|
|
fmt.Println(w, name)
|
|
assert.True(t, len(name) > 0)
|
|
})
|
|
}
|
|
}
|