1use strict;
2$^W++;
3use Class::Prototyped qw(:NEW_MAIN);
4use Data::Dumper;
5use Test;
6
7BEGIN {
8	$|++;
9	plan tests => 32;
10}
11
12$Data::Dumper::Sortkeys = 1;
13$Data::Dumper::Sortkeys = 1;
14
15my $p1 = new( a => 2, [qw(b constant)] => 2);
16my $p2 = $p1->clone();
17
18ok( $p1->a, 2 );
19ok( $p1->{a}, 2 );
20
21ok( $p1->a(3), 3 );
22ok( $p1->{a}, 3 );
23ok( $p1->a, 3 );
24
25ok( $p1->{a} = 4, 4 );
26ok( $p1->a, 4 );
27ok( $p1->{a}, 4 );
28
29ok( $p1->b, 2 );
30ok( $p1->{b}, 2 );
31
32ok( $p1->b(3), 2 );
33ok( $p1->{b}, 2 );
34ok( $p1->b, 2 );
35
36ok( $p1->{b} = 4, 4 );
37ok( $p1->b, 4 );
38ok( $p1->{b}, 4 );
39
40ok( $p2->a, 2 );
41ok( $p2->{a}, 2 );
42
43ok( $p2->a(3), 3 );
44ok( $p2->{a}, 3 );
45ok( $p2->a, 3 );
46
47ok( $p2->{a} = 4, 4 );
48ok( $p2->a, 4 );
49ok( $p2->{a}, 4 );
50
51ok( $p2->b, 2 );
52ok( $p2->{b}, 2 );
53
54ok( $p2->b(3), 2 );
55ok( $p2->{b}, 2 );
56ok( $p2->b, 2 );
57
58ok( $p2->{b} = 4, 4 );
59ok( $p2->b, 4 );
60ok( $p2->{b}, 4 );
61