tracks/perl6/exercises/clock/clock.t in trackler-2.1.0.31 vs tracks/perl6/exercises/clock/clock.t in trackler-2.1.0.32

- old
+ new

@@ -22,20 +22,29 @@ subtest 'Class methods', { ok ::($exercise).can($_), $_ for <time add-minutes>; } my $c-data; -is ::($exercise).new(hour => .<hour>, minute => .<minute>).?time, |.<expected description> for @($c-data<cases>[0]<cases>); -for @($c-data<cases>[1,2]) { - for @(.<cases>) { - my $clock = ::($exercise).new(hour => .<hour>, minute => .<minute>); - $clock.?add-minutes(.<add>); - is $clock.?time, |.<expected description>; +for @($c-data<cases>) { + for @(.<cases>) -> $case { + given $case<property> { + when 'create' { + is ::($exercise).new(hour => $case<hour>, minute => $case<minute>).?time, |$case<expected description>; + } + when 'add' { + my $clock = ::($exercise).new(hour => $case<hour>, minute => $case<minute>); + $clock.?add-minutes($case<add>); + is $clock.?time, |$case<expected description>; + } + when 'equal' { + is ::($exercise).new(hour => $case<clock1><hour>, minute => $case<clock1><minute>).?time eq + ::($exercise).new(hour => $case<clock2><hour>, minute => $case<clock2><minute>).?time, + |$case<expected description>; + } + when %*ENV<EXERCISM>.so { bail-out "no case for property '$case<property>'" } + } } } -is ::($exercise).new(hour => .<clock1><hour>, minute => .<clock1><minute>).?time eq - ::($exercise).new(hour => .<clock2><hour>, minute => .<clock2><minute>).?time, - |.<expected description> for @($c-data<cases>[3]<cases>); todo 'optional test' unless %*ENV<EXERCISM>; is ::($exercise).new(:0hour,:0minute).?add-minutes(65).?time, '01:05', 'add-minutes method can be chained'; if %*ENV<EXERCISM> && (my $c-data-file = "$dir/../../x-common/exercises/{$dir.IO.resolve.basename}/canonical-data.json".IO.resolve) ~~ :f