Sha256: 7ab59a6730d5f69cb7eb27869eabfb44fe698ed52b05bbe6cdf6738e6eb4aeaf

Contents?: true

Size: 1.5 KB

Versions: 83

Compression:

Stored size: 1.5 KB

Contents

#!/usr/bin/env perl6
use v6;
use Test;
use lib $?FILE.IO.dirname;
use GradeSchool;
plan 18;

my Version:D $version = v3;

if GradeSchool.^ver !~~ $version {
  warn "\nExercise version mismatch. Further tests may fail!"
    ~ "\nGradeSchool is {GradeSchool.^ver.gist}. "
    ~ "Test is {$version.gist}.\n";
}

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';
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';
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';

Version data entries

83 entries across 83 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/perl6/exercises/grade-school/grade-school.t
trackler-2.2.1.179 tracks/perl6/exercises/grade-school/grade-school.t
trackler-2.2.1.178 tracks/perl6/exercises/grade-school/grade-school.t
trackler-2.2.1.177 tracks/perl6/exercises/grade-school/grade-school.t
trackler-2.2.1.176 tracks/perl6/exercises/grade-school/grade-school.t
trackler-2.2.1.175 tracks/perl6/exercises/grade-school/grade-school.t
trackler-2.2.1.174 tracks/perl6/exercises/grade-school/grade-school.t
trackler-2.2.1.173 tracks/perl6/exercises/grade-school/grade-school.t
trackler-2.2.1.172 tracks/perl6/exercises/grade-school/grade-school.t
trackler-2.2.1.171 tracks/perl6/exercises/grade-school/grade-school.t
trackler-2.2.1.170 tracks/perl6/exercises/grade-school/grade-school.t
trackler-2.2.1.169 tracks/perl6/exercises/grade-school/grade-school.t
trackler-2.2.1.167 tracks/perl6/exercises/grade-school/grade-school.t
trackler-2.2.1.166 tracks/perl6/exercises/grade-school/grade-school.t
trackler-2.2.1.165 tracks/perl6/exercises/grade-school/grade-school.t
trackler-2.2.1.164 tracks/perl6/exercises/grade-school/grade-school.t
trackler-2.2.1.163 tracks/perl6/exercises/grade-school/grade-school.t
trackler-2.2.1.162 tracks/perl6/exercises/grade-school/grade-school.t
trackler-2.2.1.161 tracks/perl6/exercises/grade-school/grade-school.t
trackler-2.2.1.160 tracks/perl6/exercises/grade-school/grade-school.t