6 use Test::More no_plan => 1;
9 use_ok('MooseX::AttributeHelpers');
17 metaclass => 'Collection::Hash',
19 isa => 'HashRef[Str]',
20 default => sub { {} },
22 'set' => 'set_option',
23 'get' => 'get_option',
24 'empty' => 'has_options',
25 'count' => 'num_options',
30 my $stuff = Stuff->new();
31 isa_ok($stuff, 'Stuff');
33 can_ok($stuff, $_) for qw[
40 ok(!$stuff->has_options, '... we have no options');
41 is($stuff->num_options, 0, '... we have no options');
43 is_deeply($stuff->options, {}, '... no options yet');
45 $stuff->set_option(foo => 'bar');
47 ok($stuff->has_options, '... we have options');
48 is($stuff->num_options, 1, '... we have 1 option(s)');
49 is_deeply($stuff->options, { foo => 'bar' }, '... got options now');
51 $stuff->set_option(bar => 'baz');
53 is($stuff->num_options, 2, '... we have 2 option(s)');
54 is_deeply($stuff->options, { foo => 'bar', bar => 'baz' }, '... got more options now');
56 is($stuff->get_option('foo'), 'bar', '... got the right option');