6 use Test::More tests => 16;
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'