#!perl use Test::More tests => 16; use Games::Maze::SVG; use FindBin; use lib "$FindBin::Bin/lib"; use MazeTestUtils; use strict; use warnings; my $maze = Games::Maze::SVG->new( 'Rect' ); can_ok( $maze, "transform_grid", "make_board_array" ); my $simplegrid = <transform_grid( [ [ qw/| | | |/ ] ], 'straight' ) }; like( $@, qr/Missing block for '/, "Test non-xform of invalid grid." ); eval { $maze->transform_grid( [ [ qw/| | | |/ ] ], 'bevel' ) }; like( $@, qr/Missing block for '/, "Test non-xform of invalid grid." ); # Need more examples to be certain that I've covered all transforms. # ----------------- # Subroutines sub grid_ok { my $grid = split_maze( shift ); my $wall = shift; my $out = shift; my $msg = shift; is_deeply( [$maze->transform_grid( $grid, $wall )], $out, $msg ); } sub board_ok { my $grid = split_maze( shift ); my $wall = shift; my $board = shift; my $msg = shift; my $rows = [$maze->transform_grid( $grid, $wall )]; is_deeply( $maze->make_board_array( $rows), $board, $msg ); }