7 use Test::Moose 'does_ok';
14 traits => ['Counter'],
21 reset_counter => 'reset',
27 my $page = MyHomePage->new();
28 isa_ok( $page, 'MyHomePage' );
30 can_ok( $page, $_ ) for qw[
37 is( $page->counter, 0, '... got the default value' );
40 is( $page->counter, 1, '... got the incremented value' );
43 is( $page->counter, 2, '... got the incremented value (again)' );
46 is( $page->counter, 1, '... got the decremented value' );
49 is( $page->counter, 0, '... got the original value' );
51 $page->set_counter(5);
52 is( $page->counter, 5, '... set the value' );
54 $page->inc_counter(2);
55 is( $page->counter, 7, '... increment by arg' );
57 $page->dec_counter(5);
58 is( $page->counter, 2, '... decrement by arg' );
62 my $counter = $page->meta->get_attribute('counter');
63 does_ok( $counter, 'Moose::Meta::Attribute::Native::Trait::Counter' );
65 is( $counter->type_constraint->name, 'Int',
66 '... got the expected type constraint' );
73 reset_counter => 'reset',
76 '... got the right handles methods'