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.139 tracks/perl6/exercises/grade-school/grade-school.t
trackler-2.2.1.138 tracks/perl6/exercises/grade-school/grade-school.t
trackler-2.2.1.137 tracks/perl6/exercises/grade-school/grade-school.t
trackler-2.2.1.136 tracks/perl6/exercises/grade-school/grade-school.t
trackler-2.2.1.135 tracks/perl6/exercises/grade-school/grade-school.t
trackler-2.2.1.134 tracks/perl6/exercises/grade-school/grade-school.t
trackler-2.2.1.133 tracks/perl6/exercises/grade-school/grade-school.t
trackler-2.2.1.132 tracks/perl6/exercises/grade-school/grade-school.t
trackler-2.2.1.131 tracks/perl6/exercises/grade-school/grade-school.t
trackler-2.2.1.130 tracks/perl6/exercises/grade-school/grade-school.t
trackler-2.2.1.129 tracks/perl6/exercises/grade-school/grade-school.t
trackler-2.2.1.128 tracks/perl6/exercises/grade-school/grade-school.t
trackler-2.2.1.127 tracks/perl6/exercises/grade-school/grade-school.t
trackler-2.2.1.126 tracks/perl6/exercises/grade-school/grade-school.t
trackler-2.2.1.125 tracks/perl6/exercises/grade-school/grade-school.t
trackler-2.2.1.124 tracks/perl6/exercises/grade-school/grade-school.t
trackler-2.2.1.123 tracks/perl6/exercises/grade-school/grade-school.t
trackler-2.2.1.122 tracks/perl6/exercises/grade-school/grade-school.t
trackler-2.2.1.121 tracks/perl6/exercises/grade-school/grade-school.t
trackler-2.2.1.120 tracks/perl6/exercises/grade-school/grade-school.t