過程 6.3. setp by setp
My::Test::English
$ mkdir -p lib/My/Test/ $ vim lib/My/Test/English.pm
package My::Test::English;
# 返回單詞的複數
sub plural {
my $word = shift;
# 以s/x/sh/ch結尾的情況
if ( $word =~ /(s|x|sh|ch)$/ ) {
$word .= 'es';
}
# 以輔音+y結尾的情況
elsif ( $word =~ /[^aeiou]y$/ ) {
$word =~ s/y$/ies/;
}
# 以f結尾的情況
elsif ( $word =~ /f$/ ) {
$word =~ s/f$/ves/;
}
# 其他情況
else {
$word .= 's';
}
return $word;
}
1;
plural.t
$ vim t/plural.t
#!/usr/bin/perl
use My::Test::English;
use Test::Simple qw(no_plan);
BEGIN{ use lib qw(My/Test) }
sub plural { My::Test::English::plural(shift) }
ok (plural('diff') eq 'difves', plural('diff'));
ok (plural('try') eq 'tries', plural('try'));
ok (plural('book') eq 'books', plural('book'));
ok (plural('finish')eq 'finish', plural('finish'));
ok (plural('work') eq 'works', 'works');
Build test
$ ./Build test --test_files t/plural.t --verbose 1