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 )