tracks/perl6/exercises/grade-school/example.yaml in trackler-2.2.1.68 vs tracks/perl6/exercises/grade-school/example.yaml in trackler-2.2.1.69
- old
+ new
@@ -1,27 +1,34 @@
exercise: GradeSchool
-version: 1
-plan: 10
+version: 2
+plan: 19
imports: Roster
tests: |-
subtest "Roster class methods", {
plan 3;
ok ::('Roster').can($_), $_ for <add-student list-grade list-all>;
}
+
my $roster = ::('Roster').new;
+
ok $roster.?add-student(:name('Jim'), :2grade), 'Add Jim to grade 2';
- is $roster.?list-grade(2), <Jim>, 'List grade 2';
+ cmp-ok $roster.?list-grade(2), '~~', <Jim>, 'List grade 2';
+
ok $roster.?add-student(:name('Zoe'), :2grade), 'Add Zoe to grade 2';
ok $roster.?add-student(:name('Barb'), :1grade), 'Add Barb to grade 1';
- is $roster.?list-grade(2), <Jim Zoe>, 'List grade 2';
- is $roster.?list-grade(1), <Barb>, 'List grade 1';
- subtest 'Additional students', {
- plan 6;
- ok $roster.?add-student(:name($_), :1grade), "Add $_ to grade 1" for <Charlie Anna>;
- ok $roster.?add-student(:name('Alex'), :2grade), 'Add Alex to grade 2';
- ok $roster.?add-student(:name($_), :3grade), "Add $_ to grade 3" for <Tom Dick Harry>;
- }
- is $roster.?list-all, ('Grade 1', <Anna Barb Charlie>, 'Grade 2', <Alex Jim Zoe>, 'Grade 3', <Dick Harry Tom>), 'List all';
+ cmp-ok $roster.?list-grade(2), '~~', <Jim Zoe>, 'List grade 2';
+ cmp-ok $roster.?list-grade(1), '~~', <Barb>, 'List grade 1';
+
+ cmp-ok $roster.?list-all, '~~', ('Grade 1', <Barb>, 'Grade 2', <Jim Zoe>), 'List all';
+
+ ok $roster.?add-student(:name($_), :1grade), "Add $_ to grade 1" for <Charlie Anna>;
+ ok $roster.?add-student(:name('Alex'), :2grade), 'Add Alex to grade 2';
+ ok $roster.?add-student(:name($_), :3grade), "Add $_ to grade 3" for <Tom Dick Harry>;
+
+ cmp-ok $roster.?list-grade(1), '~~', <Anna Barb Charlie>, 'List grade 1';
+ cmp-ok $roster.?list-grade(2), '~~', <Alex Jim Zoe>, 'List grade 2';
+ cmp-ok $roster.?list-grade(3), '~~', <Dick Harry Tom>, 'List grade 3';
+ cmp-ok $roster.?list-all, '~~', ('Grade 1', <Anna Barb Charlie>, 'Grade 2', <Alex Jim Zoe>, 'Grade 3', <Dick Harry Tom>), 'List all';
unit: module
example: |-
class Roster is export {
has %!roster;