Acme-TextLayout
view release on metacpan or search on metacpan
t/01-test.t view on Meta::CPAN
bb
EOF
$tl = Acme::TextLayout->new;
ok (!($tl->instantiate(text => $pattern)));
# single char pattern test
$pattern = <<'EOF';
A
EOF
$tl = Acme::TextLayout->new;
ok($tl->instantiate(text => $pattern));
ok($tl->width()==1 && $tl->height()==1);
# bad pattern tests
$pattern = <<'EOF';
ABBA
EOF
ok(!$tl->instantiate(text => $pattern));
$tl = Acme::TextLayout->new;
$pattern = <<'EOF';
BBBA
ABBB
EOF
eval q($tl->instantiate(text => $pattern));
ok($@);
$tl = Acme::TextLayout->new;
$pattern = <<'EOF';
BBBAAA
BBBAAA
CCCCCC
BBBAAA
EOF
ok(!$tl->instantiate(text => $pattern));
# be sure leading whitespace handled
$tl = Acme::TextLayout->new;
$pattern = <<'EOF';
ABBBB
ABBBB
CCCCC
EOF
ok($tl->instantiate(text => $pattern));
ok(!$tl->only_one());
# single character pattern and test only_one method
$tl = Acme::TextLayout->new;
$pattern = <<'EOF';
A
EOF
ok($tl->instantiate(text => $pattern));
ok($tl->only_one() == 1);
$tl = Acme::TextLayout->new;
$pattern = <<'EOF';
AAAABBBBBB
AAAABBBBBB
EOF
ok($tl->instantiate(text => $pattern));
ok(check([qw(0.4 1)], $tl->range_as_percent('A')));
ok(check([qw(0.6 1)], $tl->range_as_percent('B')));
ok(check([qw(0 0 39 99)], $tl->map_range(100, 100, 'A')));
ok(check([qw(40 0 99 99)], $tl->map_range(100, 100, 'B')));
$pattern = <<'EOF';
AAAABBBBBB
AAAABBBBBB
CCCCDDDDDD
CCCCDDDDDD
EOF
ok($tl->instantiate(text => $pattern));
ok(check([qw(0.4 0.5)], $tl->range_as_percent('A')));
ok(check([qw(0.4 0.5)], $tl->range_as_percent('C')));
ok(check([qw(0.6 0.5)], $tl->range_as_percent('B')));
ok(check([qw(0.6 0.5)], $tl->range_as_percent('D')));
ok(check([qw(0 0 39 49)], $tl->map_range(100, 100, 'A')));
ok(check([qw(0 50 39 99)], $tl->map_range(100, 100, 'C')));
ok(check([qw(40 0 99 49)], $tl->map_range(100, 100, 'B')));
ok(check([qw(40 50 99 99)], $tl->map_range(100, 100, 'D')));
ok($tl->height()==4 && $tl->width()==10);
ok(check([qw(0 1 0 3)], $tl->range('A')));
ok(check([qw(2 3 0 3)], $tl->range('C')));
ok(check([qw(0 1 4 9)], $tl->range('B')));
ok(check([qw(2 3 4 9)], $tl->range('D')));
ok($tl->instantiate(file => 'data/foobar.dat'));
ok($tl->width()==5 && $tl->height()==3);
sub check {
my ($ref, @x) = @_;
my $status = 1;
if (@$ref != @x) {
print STDERR Dumper(\@x);
return 0;
}
map {
$status = 0 unless $ref->[$_] eq $x[$_];
} 0..$#x;
print STDERR Dumper(\@x) unless $status;
return $status;
}
( run in 1.967 second using v1.01-cache-2.11-cpan-39bf76dae61 )