Default parameters to read-only
[gitmo/MooseX-Role-Parameterized.git] / t / 001-parameters.t
index e94516f..6d208f1 100644 (file)
@@ -1,7 +1,7 @@
 #!/usr/bin/env perl
 use strict;
 use warnings;
-use Test::More tests => 13;
+use Test::More tests => 14;
 use Test::Exception;
 
 use MooseX::Role::Parameterized::Parameters;
@@ -14,24 +14,24 @@ do {
     use MooseX::Role::Parameterized;
 };
 
-my $parameter_metaclass = MyRole::NoParameters->meta->parameter_metaclass;
-is($parameter_metaclass->get_all_attributes, 0, "no parameters");
+my $parameters_metaclass = MyRole::NoParameters->meta->parameters_metaclass;
+is($parameters_metaclass->get_all_attributes, 0, "no parameters");
 
 do {
     package MyRole::LengthParameter;
     use MooseX::Role::Parameterized;
 
     parameter length => (
-        is       => 'ro',
         isa      => 'Int',
         required => 1,
     );
 };
 
-$parameter_metaclass = MyRole::LengthParameter->meta->parameter_metaclass;
-is($parameter_metaclass->get_all_attributes, 1, "exactly one parameter");
+$parameters_metaclass = MyRole::LengthParameter->meta->parameters_metaclass;
+is($parameters_metaclass->get_all_attributes, 1, "exactly one parameter");
 
-my $parameter = ($parameter_metaclass->get_all_attributes)[0];
+my $parameter = ($parameters_metaclass->get_all_attributes)[0];
+isa_ok($parameter, 'MooseX::Role::Parameterized::Meta::Parameter');
 is($parameter->name, 'length', "parameter name");
 ok($parameter->is_required, "parameter is required");
 
@@ -59,11 +59,11 @@ do {
     );
 };
 
-$parameter_metaclass = MyRole::LengthParameter->meta->parameter_metaclass;
-is($parameter_metaclass->get_all_attributes, 3, "three parameters");
+$parameters_metaclass = MyRole::LengthParameter->meta->parameters_metaclass;
+is($parameters_metaclass->get_all_attributes, 3, "three parameters");
 
 for my $param_name ('first_name', 'last_name') {
-    my $param = $parameter_metaclass->get_attribute($param_name);
+    my $param = $parameters_metaclass->get_attribute($param_name);
     is($param->type_constraint, 'Str', "$param_name type constraint");
     ok(!$param->is_required, "$param_name is optional");
 }