7 my %values_for_type = (
26 #valid => [], # populated later with the values from Any
116 $values_for_type{Item}{valid} = $values_for_type{Any}{valid};
119 $plan += 5 * @{ $values_for_type{$_}{valid} } for keys %values_for_type;
120 $plan += 4 * @{ $values_for_type{$_}{invalid} } for keys %values_for_type;
129 for my $type (keys %values_for_type) {
137 can_ok(Class => keys %values_for_type);
139 for my $type (keys %values_for_type) {
140 for my $value (@{ $values_for_type{$type}{valid} }) {
142 my $via_new = Class->new($type => $value);
143 is_deeply($via_new->$type, $value, "correctly set a $type in the constructor");
147 my $via_set = Class->new;
148 is($via_set->$type, undef, "initially unset");
149 $via_set->$type($value);
150 is_deeply($via_set->$type, $value, "correctly set a $type in the setter");
154 for my $value (@{ $values_for_type{$type}{invalid} }) {
157 $via_new = Class->new($type => $value);
159 is($via_new, undef, "no object created");
161 my $via_set = Class->new;
163 $via_set->$type($value);
166 is($via_set->$type, undef, "value for $type not set");