12 isa => sub { die 'not int' unless $_[0] =~ /^\d$/ },
17 isa => quote_sub(q{ die 'not int' unless $_[0] =~ /^\d$/ }),
27 has off_by_one => (is => 'rw', coerce => sub { $_[0] + 1 });
39 __PACKAGE__->meta->make_immutable;
43 Bar->new(frooh => 1, frew => 1);
44 }, undef, 'creation of valid Bar');
47 Bar->new(frooh => 'silly', frew => 1);
48 }, 'creation of invalid Bar validated by coderef';
51 Bar->new(frooh => 1, frew => 'goose');
52 }, 'creation of invalid Bar validated by quoted sub';
55 my ($class, $type) = @_;
57 my $obo = $class->new(off_by_one => 1);
59 is($obo->off_by_one, 2, "Off by one (new) ($type)");
63 is($obo->off_by_one, 42, "Off by one (set) ($type)");
66 test_off_by_one('Baz', 'Moo');
67 test_off_by_one('Quux', 'Moose');