checksum/damm/damm_test.go
Alexander Kiryukhin dd42100aa2 Barcode and ISIN
2019-08-30 02:53:06 +03:00

33 lines
693 B
Go

package damm
import (
"log"
"testing"
"github.com/neonxp/checksum"
)
func TestDamm(t *testing.T) {
samples := map[string]error{
"456126121234546": checksum.ErrInvalidChecksum,
"A56126121234546": checksum.ErrInvalidNumber,
"5724": nil,
}
for num, result := range samples {
if err := Check(num); err != result {
t.Errorf("Expected %+v actual %+v for %s", result, err, num)
}
}
num := "572"
checksum, err := Generate(num)
if err != nil {
t.Error(err)
}
numberWithChecksum := num + checksum
log.Println(numberWithChecksum)
if err := Check(numberWithChecksum); err != nil {
t.Errorf("Expected no error actual %+v for %s", err, numberWithChecksum)
}
}