use strict; use warnings FATAL => qw(all); use lib './lib'; use Test::More; use Data::Dumper; use Blacknote::System; use Blacknote::System::State; use Blacknote::System::TileMixins; use Blacknote::Interface; my $tile = Blacknote::System::Tile->new(x => 1, y => 1); isa_ok $tile, "Blacknote::System::Tile"; can_ok $tile, qw(pos x y color type); note explain $tile; my $walltile = Blacknote::System::Tile::Wall->new; note explain $walltile; can_ok $walltile, "type"; is $walltile->type, 1; isa_ok $walltile, "Blacknote::System::Tile::Wall"; my $corpse_tile = Blacknote::System::Tile::Corpse->new; is $corpse_tile->type, 5; dyn_fulfill 'Blacknote::System::TileMixins::RTile::Static' => $corpse_tile; isa_ok $corpse_tile, "Blacknote::System::TileMixins::RTile::Static"; can_ok $corpse_tile, qw(interact init destroy); note explain \%Blacknote::System::State::FUNCTION_POOL; for(keys %Blacknote::System::State::ITEM_POOLS){ for my $itemclass(@{$Blacknote::System::State::ITEM_POOLS{$_}}){ isa_ok $itemclass, "Blacknote::System::IEquipment"; isa_ok $itemclass, "Blacknote::System::RDrawable"; can_ok $itemclass, qw(wear take_off symbol); my $iteminstance = $itemclass->new; ok $iteminstance->{desc}; ok $iteminstance->{name}; } } note explain $Blacknote::Input::KEYBINDINGS; note explain \%Blacknote::Input::KEYMAP; done_testing; .