blob: 7c49cb471045a7238b989efea9bff0d583c7b2e1 (
plain) (
tree)
|
|
use Test::More tests => 6;
use Test::Moose;
use Test::Exception;
BEGIN {
package My::Factory::Implementation;
use Moose;
has connection => (is => 'ro', isa => 'Str');
sub tweak { 1; };
package My::Factory;
use MooseX::AbstractFactory;
use Moose;
}
my $imp;
lives_ok {
$imp = My::Factory->create(
'Implementation',
{ connection => 'Type1' }
);
} "Factory->new() doesn't die";
isa_ok($imp, "My::Factory::Implementation");
can_ok($imp, qw/tweak/);
is($imp->tweak(),1,"tweak returns 1");
is($imp->connection(), 'Type1', 'connection attr set by constructor');
dies_ok {
$imp->fudge();
} "fudge dies, not implemented on implementor";
|