exercise: GradeSchool version: 1 plan: 10 imports: Roster tests: | subtest "Roster class methods", { plan 3; ok ::('Roster').can($_), $_ for ; } my $roster = ::('Roster').new; ok $roster.?add-student(:name('Jim'), :2grade), 'Add Jim to grade 2'; is $roster.?list-grade(2), , '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), , 'List grade 2'; is $roster.?list-grade(1), , 'List grade 1'; subtest 'Additional students', { plan 6; ok $roster.?add-student(:name($_), :1grade), "Add $_ to grade 1" for ; ok $roster.?add-student(:name('Alex'), :2grade), 'Add Alex to grade 2'; ok $roster.?add-student(:name($_), :3grade), "Add $_ to grade 3" for ; } is $roster.?list-all, ('Grade 1', , 'Grade 2', , 'Grade 3', ), 'List all';