1#!/usr/local/bin/perl
2
3package X;
4
5BEGIN { unshift @INC, ( $0 =~ /\A(.*?)[\w\.]+\z/ )[0] }
6use Test;
7
8use Class::MakeMethods::Emulator::MethodMaker
9  grouped_fields => [
10		     'x' => [ qw / a b c / ],
11		    ];
12
13sub new { bless {}, shift; }
14my $o = new X;
15
16TEST { 1 };
17my @f;
18TEST { @f = $o->x };
19TEST { scalar @f == 3 };
20TEST { $f[0] eq 'a' and $f[1] eq 'b' and $f[2] eq 'c' };
21
22TEST { $o->a(123) };
23TEST { $o->a == 123 };
24TEST { ! defined $o->clear_a };
25TEST { ! defined $o->a };
26
27TEST { $o->b(456) };
28TEST { $o->b == 456 };
29TEST { ! defined $o->clear_b };
30TEST { ! defined $o->b };
31
32TEST { $o->c('baz') };
33TEST { $o->c eq 'baz' };
34TEST { ! defined $o->clear_c };
35TEST { ! defined $o->c };
36
37exit 0;
38
39