5 use Test::More tests => 10;
7 use lib "$FindBin::Bin/lib";
10 package Test::MooseX::TypeLibrary::TypeDecorator;
13 use DecoratorLibrary qw(
19 has 'arrayrefbase' => (is=>'rw', isa=>MyArrayRefBase, coerce=>1);
20 has 'arrayrefint01' => (is=>'rw', isa=>MyArrayRefInt01, coerce=>1);
23 ## Make sure we have a 'create object sanity check'
25 ok my $type = Test::MooseX::TypeLibrary::TypeDecorator->new(),
26 => 'Created some sort of object';
28 isa_ok $type, 'Test::MooseX::TypeLibrary::TypeDecorator'
29 => "Yes, it's the correct kind of object";
31 ## test arrayrefbase normal and coercion
33 ok $type->arrayrefbase([qw(a b c)])
34 => 'Assigned arrayrefbase qw(a b c)';
36 is_deeply $type->arrayrefbase, [qw(a b c)],
37 => 'Assigment is correct';
39 ok $type->arrayrefbase('d,e,f')
40 => 'Assigned arrayrefbase d,e,f to test coercion';
42 is_deeply $type->arrayrefbase, [qw(d e f)],
43 => 'Assigment and coercion is correct';
45 ## test arrayrefint01 normal and coercion
47 ok $type->arrayrefint01([qw(a b c)])
48 => 'Assigned arrayrefbase qw(a b c)';
50 is_deeply $type->arrayrefint01, [qw(a b c)],
51 => 'Assigment is correct';
53 ok $type->arrayrefint01('d.e.f')
54 => 'Assigned arrayrefbase d,e,f to test coercion';
56 is_deeply $type->arrayrefint01, [qw(d e f)],
57 => 'Assigment and coercion is correct';
59 #use Data::Dump qw/dump/;
60 #warn dump MyArrayRefInt01;
61 #warn dump MyArrayRefBase->validate('aaa,bbb,ccc');