6 use Test::More tests => 20;
8 use Test::Moose 'does_ok';
11 use_ok('Moose::AttributeHelpers');
18 use Moose::AttributeHelpers;
20 has 'word_histogram' => (
21 traits => ['Collection::Bag'],
25 'get_count_for' => 'get',
26 'has_any_words' => 'empty',
27 'num_words' => 'count',
28 'delete_word' => 'delete',
33 my $stuff = Stuff->new();
34 isa_ok( $stuff, 'Stuff' );
36 can_ok( $stuff, $_ ) for qw[
44 ok( !$stuff->has_any_words, '... we have no words' );
45 is( $stuff->num_words, 0, '... we have no words' );
48 $stuff->add_word('bar');
50 '... set the words okay';
52 ok( $stuff->has_any_words, '... we have words' );
53 is( $stuff->num_words, 1, '... we have 1 word(s)' );
54 is( $stuff->get_count_for('bar'), 1, '... got words now' );
57 $stuff->add_word('foo');
58 $stuff->add_word('bar') for 0 .. 3;
59 $stuff->add_word('baz') for 0 .. 10;
61 '... set the words okay';
63 is( $stuff->num_words, 3, '... we still have 1 word(s)' );
64 is( $stuff->get_count_for('foo'), 1, '... got words now' );
65 is( $stuff->get_count_for('bar'), 5, '... got words now' );
66 is( $stuff->get_count_for('baz'), 11, '... got words now' );
70 my $words = $stuff->meta->get_attribute('word_histogram');
71 does_ok( $words, 'Moose::AttributeHelpers::Trait::Collection::Bag' );
77 'get_count_for' => 'get',
78 'has_any_words' => 'empty',
79 'num_words' => 'count',
80 'delete_word' => 'delete',
82 '... got the right handles mapping'