-use Test::More tests=>9; {
+use Test::More tests=>14; {
use strict;
use warnings;
ok !OlderThanAge([older_than=>1])->check('aaa'), '"aaa" not an int';
ok !OlderThanAge([older_than=>10])->check(9), '9 is not older than 10';
+ my $a = OlderThanAge([older_than=>1]);
+
+ coerce $a,
+ from ArrayRef,
+ via {
+ my ($arrayref, $constraining_value) = @_;
+ my $age;
+ $age += $_ for @$arrayref;
+ return $age;
+ };
+
+ is $a->coerce([1,2,3]), 6, 'Got expected Value';
+
coerce OlderThanAge,
+ from HashRef,
+ via {
+ my ($hashref, $constraining_value) = @_;
+ return keys %$hashref;
+ };
+
+ coerce OlderThanAge([older_than=>5]),
from ArrayRef,
via {
my ($arrayref, $constraining_value) = @_;
$age += $_ for @$arrayref;
return $age;
};
-
- #warn OlderThanAge([older_than=>1])->coerce([1,2,3,4]);
+
+ is OlderThanAge->name, 'main::OlderThanAge',
+ 'Got corect name for OlderThanAge';
+ is OlderThanAge([older_than=>5])->coerce([1..10]), 55,
+ 'Coerce works';
+ like OlderThanAge([older_than=>2])->name, qr/main::OlderThanAge\[/,
+ 'Got correct name for OlderThanAge([older_than=>2])';
+ is OlderThanAge([older_than=>2])->coerce({a=>1,b=>2,c=>3,d=>4}), 4,
+ 'inherited Coerce works';
+
+
}
\ No newline at end of file