package AppThing; use lib './lib'; use LEOCHARRE::Class2; use strict; __PACKAGE__->make_constructor; __PACKAGE__->make_accessor_setget_unique_array('hands'); 1; use Test::Simple 'no_plan'; use strict; use lib './lib'; print STDERR "\n ============================================ $0 \n\n"; use Smart::Comments '###'; my $href; ok(1); my $i = AppThing->new({ hands => [qw/red blue green/] }); ok($i,'instanced'); for my $method ( qw(hands hands_count hands_add hands_delete hands_clear hands_exists)){ ok($i->can($method), "can $method()"); } print STDERR "\n---------------------line ".__LINE__."\n\n"; $href = $i->hands_href; ### $href my @a = $i->hands; ### @a my $hc = scalar @a; ok( $hc == 3 ); ok $i->hands_count == $hc, "hands count is $hc"; $i->hands_add('purple'); ok $i->hands_exists('purple'); $href = $i->hands_href; ### $href print STDERR " ---------- = = = = = = ---------- = = = 1 = = ---------- = = = = = = "; ok( $i->hands_count == ++$hc ); $href = $i->hands_href; ### $href print STDERR " ---------- = = = = = = ---------- = = = 2 = = ---------- = = = = = = "; my $count70 = $i->hands_count; ok $count70; ok $i->hands_exists('red'), 'red hand there'; ok $i->hands_delete('red'); ok( 1,'deleted ref hand..'); my $count71 = $i->hands_count; ok( $count70 == ($count71 + 1 ), "now old count is one more than present count ( $count71, $count70 )"); ok( ! $i->hands_exists('red'), 'now red hand no longer there'); ok $i->hands_add('red'); ok( $i->hands_exists('red') , 'now added red hand again!'); my $k = $i->hands_count; ok( $k, "count now '$k'"); ok $i->hands_delete('red'); $href = $i->hands_href; ### $href print STDERR "\n---------------------line ".__LINE__."\n\n"; my $aref = $i->hands_aref; ### $aref print STDERR "\n---------------------line ".__LINE__."\n\n"; my $b = $i->hands_count; $hc--; ok( $b == $hc,"hands count from obj [$b] same as $hc" ); $i->hands_delete(qw/blue green purple/); $href = $i->hands_href; ### $href ok !$i->hands_count; my $count_last = $i->hands_count; ### $count_last my $o = new AppThing; my $val = $o->hands_count; ok defined $val; ok $val == 0; ok_part('FURTHER COUNT'); my $return = $o->hands_add('right','left'); ok( $return," return val is '$return'"); ok( $o->hands_count == 2, 'now hands count is 2'); ok( $return = $o->hands('one'),' add via name alone' ); ### $return ok( $o->hands_count == 3, "now hands is 3"); my @return = $o->hands; ### @return ok( scalar @return == 3 ); sub ok_part { printf STDERR "\n%s\n= @_\n\n", '-'x60; 1 }