Sha256: 1787da55db6d30c17d75706636e7dc08fc5dfda3541a57bc2476c3a2f67a2093
Contents?: true
Size: 726 Bytes
Versions: 83
Compression:
Stored size: 726 Bytes
Contents
exercise: Luhn version: 3 plan: 13 tests: |- for $c-data<cases>.values { given is-luhn-valid .<input><value> -> $result { subtest .<description>, { plan 2; isa-ok $result, Bool; is-deeply $result, .<expected>, 'Result matches expected'; } } } unit: module example: |- sub is-luhn-valid ($input is copy) is export { $input ~~ s:g/\s+//; return False if $input.chars < 2 || $input ~~ /\D/; my @num = $input.split('', :skip-empty); @num.unshift: 0 if @num % 2; my $sum; for @num -> $a, $b { $sum += $a * 2; $sum -= 9 if $a * 2 > 9; $sum += $b; } return ($sum %% 10).so; } stub: |- sub is-luhn-valid ($input) is export { }
Version data entries
83 entries across 83 versions & 1 rubygems