# -*- tcl -*- tcl.tk//DSL tcltest//EN//2.0 # # ## ### ##### ######## ############# ##################### ## Testing the cmdr::validate package (sub: valtype::luhn5). kt check Tcl 8.5 kt check tcltest 2 kt require support debug kt require support debug::caller kt local support cmdr::validate::common kt local testing cmdr::validate::valtype::luhn5 # # ## ### ##### ######## ############# ##################### ## Basic API. set vtype cmdr::validate::valtype::luhn5 set vtdef {} kt source vtype.tcl # # ## ### ##### ######## ############# ##################### ## Specific behaviour test vt-${vtype}-validate-2.0 {luhn5 validation failure, bad char} -body { $vtype validate P A } -returnCodes error \ -result {Not a LUHN5 number, expected only digits} foreach {n in} { 1 49999999 2 37 3 49927398717 4 1234567812345678 } { test vt-${vtype}-validate-2.1.$n {luhn5 validation failure, bad check} -body { $vtype validate P $in } -returnCodes error \ -result {Not a LUHN5 number, the check digit is incorrect} } # ------------------------------------------------------------------------- foreach {n in check0 check5} { 1 4999999 8 3 2 3 4 9 3 35 6 1 4 4992739871 6 1 5 123456781234567 0 5 } { test vt-${vtype}-validate-4.$n.10 {luhn5 validation 0 % 10} -body { $vtype validate P $in$check0 } -result $in$check0 test vt-${vtype}-validate-4.$n.5 {luhn5 validation 5 % 10} -body { $vtype validate P $in$check5 } -result $in$check5 } # # ## ### ##### ######## ############# ##################### cleanupTests return