tracks/perl6/exercises/luhn/luhn.t in trackler-2.2.1.43 vs tracks/perl6/exercises/luhn/luhn.t in trackler-2.2.1.44
- old
+ new
@@ -2,14 +2,16 @@
use v6;
use Test;
use lib my $dir = $?FILE.IO.dirname;
use JSON::Fast;
-my $exercise = 'Luhn';
-my $version = v1;
-my $module = %*ENV<EXERCISM> ?? 'Example' !! $exercise;
-plan 15;
+my Str:D $exercise := 'Luhn';
+my Version:D $version = v1;
+my Str $module //= $exercise;
+INIT {
+ plan 15;
+}
use-ok $module or bail-out;
require ::($module);
if ::($exercise).^ver !~~ $version {
@@ -22,16 +24,10 @@
require ::($module) <&is-luhn-valid>;
my $c-data;
is .<input>.&is-luhn-valid, |.<expected description> for @($c-data<cases>);
-if %*ENV<EXERCISM> {
- if (my $c-data-file = "$dir/../../problem-specifications/exercises/{$dir.IO.resolve.basename}/canonical-data.json".IO.resolve) ~~ :f {
- is-deeply $c-data, EVAL('use JSON::Fast; from-json($c-data-file.slurp);'), 'canonical-data';
- } else { flunk 'canonical-data' }
-} else { skip }
-
done-testing;
INIT {
$c-data := from-json q:to/END/;
@@ -119,6 +115,22 @@
}
]
}
END
+
+ if %*ENV<EXERCISM> {
+ $module = 'Example';
+ if (my $c-data-file =
+ "$dir/../../problem-specifications/exercises/{$dir.IO.resolve.basename}/canonical-data.json"
+ .IO.resolve) ~~ :f
+ {
+ is-deeply $c-data, EVAL('from-json $c-data-file.slurp'), 'canonical-data';
+ }
+ else {
+ flunk 'canonical-data';
+ }
+ }
+ else {
+ skip;
+ }
}