4 use Test::More tests => 7;
7 use MooseX::Role::Parameterized::Parameters;
9 my $p = MooseX::Role::Parameterized::Parameters->new;
13 package MyRole::NoParameters;
14 use MooseX::Role::Parameterized;
17 my $parameter_metaclass = MyRole::NoParameters->meta->parameter_metaclass;
18 is($parameter_metaclass->get_all_attributes, 0, "no parameters");
21 package MyRole::LengthParameter;
22 use MooseX::Role::Parameterized;
31 $parameter_metaclass = MyRole::LengthParameter->meta->parameter_metaclass;
32 is($parameter_metaclass->get_all_attributes, 1, "exactly one parameter");
34 my $parameter = ($parameter_metaclass->get_all_attributes)[0];
35 is($parameter->name, 'length', "parameter name");
36 ok($parameter->is_required, "parameter is required");
39 MyRole::LengthParameter->meta->construct_parameters;
40 } qr/^Attribute \(length\) is required/;
42 $p = MyRole::LengthParameter->meta->construct_parameters(
46 is($p->length, 5, "correct length");