6 use Test::More tests => 16;
10 use_ok('Class::MOP::Class');
11 use_ok('Class::MOP::Attribute');
12 use_ok('Class::MOP::Method');
13 use_ok('Class::MOP::Instance');
14 use_ok('Class::MOP::Object');
17 # make sure we are tracking metaclasses correctly
20 'Class::MOP::Attribute' => Class::MOP::Attribute->meta,
21 'Class::MOP::Package' => Class::MOP::Package->meta,
22 'Class::MOP::Module' => Class::MOP::Module->meta,
23 'Class::MOP::Class' => Class::MOP::Class->meta,
24 'Class::MOP::Method' => Class::MOP::Method->meta,
25 'Class::MOP::Instance' => Class::MOP::Instance->meta,
26 'Class::MOP::Object' => Class::MOP::Object->meta,
29 ok($_->is_immutable(), '... ' . $_->name . ' is immutable') for values %METAS;
32 { Class::MOP::get_all_metaclasses },
34 '... got all the metaclasses');
37 [ sort { $a->name cmp $b->name } Class::MOP::get_all_metaclass_instances ],
39 Class::MOP::Attribute->meta,
40 Class::MOP::Class->meta,
41 Class::MOP::Instance->meta,
42 Class::MOP::Method->meta,
43 Class::MOP::Module->meta,
44 Class::MOP::Object->meta,
45 Class::MOP::Package->meta,
47 '... got all the metaclass instances');
50 [ sort { $a cmp $b } Class::MOP::get_all_metaclass_names() ],
60 '... got all the metaclass names');