4 use Test::More tests => 7;
7 my ($parameters, %args);
11 use MooseX::Role::Parameterized;
13 parameter default_age => (
20 ($parameters, %args) = @_;
24 default => $parameters->default_age,
27 method birthday => sub {
29 return 2000 - $self->age;
34 ok(MyPerson->meta->has_role_generator, "MyPerson has a role generator");
36 my $role = MyPerson->meta->generate_role(
40 isa_ok($role, 'Moose::Meta::Role', 'generate_role created a role');
42 is($parameters->default_age, 7);
43 is($args{operating_on}, $role, "we pass in the role metaclass that we're operating on");
45 my $age_attr = $role->get_attribute('age');
46 is($age_attr->{default}, 7, "role's age attribute has the right default");
48 my $birthday_method = $role->get_method('birthday');
49 is($birthday_method->name, 'birthday', "method name");
50 is($birthday_method->package_name, $role->name, "package name");