Acme-TextLayout
view release on metacpan or search on metacpan
t/01-test.t view on Meta::CPAN
#!perl -T
use Test::More tests => 70;
use Data::Dumper;
BEGIN {
use_ok( 'Acme::TextLayout' );
}
diag( "Testing Acme::TextLayout $Acme::TextLayout::VERSION, Perl $], $^X" );
my $tl = Acme::TextLayout->new;
my $pattern = <<'EOF';
JJJhhhhhhhhrr
AAAAAAAAAAAAA
BBBCCCCCCCCCC
DDEEEEEEEEEFF
DDEEEEEEEEEFF
EOF
my @Characters = qw(J h r A B C D E F);
ok($tl->instantiate(text => $pattern));
# test fetching a particular line in pattern
ok(check([qw(J h r)], $tl->order(0)));
# test possible direction methods for right answers
ok(check([qw(h)], $tl->right('J')));
ok(check([qw(r)], $tl->right('h')));
ok(check([], $tl->right('A')));
ok(check([qw(C)], $tl->right('B')));
ok(check([], $tl->right('C')));
ok(check([qw(E)], $tl->right('D')));
ok(check([qw(F)], $tl->right('E')));
ok(check([], $tl->right('F')));
ok(check([], $tl->left('J')));
ok(check([], $tl->left('A')));
ok(check([], $tl->left('D')));
ok(check([qw(D)], $tl->left('E')));
ok(check([qw(E)], $tl->left('F')));
ok(check([qw(B)], $tl->left('C')));
ok(check([qw(h)], $tl->left('r')));
ok(check([qw(J)], $tl->left('h')));
ok(check([qw(B C)], $tl->above('E')));
ok(check([qw(C)], $tl->above('F')));
ok(check([qw(B)], $tl->above('D')));
ok(check([qw(A)], $tl->above('B')));
ok(check([qw(A)], $tl->above('C')));
ok(check([], $tl->above('J')));
ok(check([], $tl->above('h')));
ok(check([], $tl->above('r')));
ok(check([qw(A)], $tl->below('J')));
ok(check([qw(A)], $tl->below('h')));
ok(check([qw(A)], $tl->below('r')));
ok(check([qw(B C)], $tl->below('A')));
ok(check([qw(E D)], $tl->below('B')));
ok(check([qw(F E)], $tl->below('C')));
ok(check([], $tl->below('D')));
ok(check([], $tl->below('E')));
ok(check([], $tl->below('F')));
# be sure we get right answers from characters method
my @chars = $tl->characters();
@chars = sort(@chars);
( run in 1.072 second using v1.01-cache-2.11-cpan-39bf76dae61 )