use strict; use warnings; # vi:filetype= my $skip; BEGIN { eval "use Class::Accessor::Grouped"; if ($@) { $skip = 'Class::Accessor::Grouped required to run this test' } } use Test::More $skip ? (skip_all => $skip) : (); use UML::Class::Simple; use Data::Dumper; $Data::Dumper::Indent = 1; $Data::Dumper::Sortkeys=1; plan tests => 3; require "t/data/TestClassAccessorGrouped.pm"; my $painter = UML::Class::Simple->new(['TestClassAccessorGrouped']); my $dom = $painter->as_dom; is Dumper($dom), <<'_EOC_'; $VAR1 = { 'classes' => [ { 'methods' => [ 'blah', 'overridden' ], 'name' => 'TestClassAccessorGrouped', 'properties' => [ 'lr1name', 'lr2name', 'multiple1', 'multiple2', 'result_class', 'singlefield' ], 'subclasses' => [] } ] }; _EOC_ require "t/data/TestClassAccessorGroupedInheritance.pm"; my $painter2 = UML::Class::Simple->new(['TestClassAccessorGroupedInheritance']); my $dom2 = $painter2->as_dom; is Dumper($dom2), <<'_EOC_'; $VAR1 = { 'classes' => [ { 'methods' => [ 'overridden', 'subclass_only' ], 'name' => 'TestClassAccessorGroupedInheritance', 'properties' => [ 'lr1name', 'lr2name', 'multiple1', 'multiple2', 'result_class', 'singlefield', 'sub_lr1name', 'sub_lr2name', 'sub_multiple1', 'sub_multiple2', 'sub_result_class', 'sub_singlefield' ], 'subclasses' => [] } ] }; _EOC_ my $painter3 = UML::Class::Simple->new(['TestClassAccessorGroupedInheritance']); $painter3->inherited_methods(0); my $dom3 = $painter3->as_dom; is Dumper($dom3), <<'_EOC_'; $VAR1 = { 'classes' => [ { 'methods' => [ 'overridden', 'subclass_only' ], 'name' => 'TestClassAccessorGroupedInheritance', 'properties' => [ 'sub_lr1name', 'sub_lr2name', 'sub_multiple1', 'sub_multiple2', 'sub_result_class', 'sub_singlefield' ], 'subclasses' => [] } ] }; _EOC_