1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
#!/usr/bin/perl
use v5.18;
use warnings;
use Test2::V0;
use Object::Pad 0.800;
role ARole {
method one { return 1 }
}
package Base::HASH {
sub new { bless {}, shift }
}
class Derived::HASH {
inherit Base::HASH;
apply ARole;
}
{
my $obj = Derived::HASH->new;
is( $obj->one, 1, 'Derived::HASH has a ->one method' );
}
package Base::ARRAY {
sub new { bless [], shift }
}
class Derived::ARRAY {
inherit Base::ARRAY;
apply ARole;
}
{
my $obj = Derived::ARRAY->new;
is( $obj->one, 1, 'Derived::ARRAY has a ->one method' );
}
done_testing;
|