foo
[gitmo/Class-MOP.git] / t / 000_load.t
1 #!/usr/bin/perl
2
3 use strict;
4 use warnings;
5
6 use Test::More tests => 7;
7
8 BEGIN {
9     use_ok('Class::MOP');
10     use_ok('Class::MOP::Class');
11     use_ok('Class::MOP::Attribute');
12     use_ok('Class::MOP::Method');            
13 }
14
15 # make sure we are tracking metaclasses correctly
16
17 my %METAS = (
18     'Class::MOP::Attribute' => Class::MOP::Attribute->meta, 
19     'Class::MOP::Class'     => Class::MOP::Class->meta, 
20     'Class::MOP::Method'    => Class::MOP::Method->meta  
21 );
22
23 is_deeply(
24     { Class::MOP::Class->get_all_metaclasses },
25     \%METAS,
26     '... got all the metaclasses');
27
28 is_deeply(
29     [ sort { $a->name cmp $b->name } Class::MOP::Class->get_all_metaclass_instances ],
30     [ Class::MOP::Attribute->meta, Class::MOP::Class->meta, Class::MOP::Method->meta ],
31     '... got all the metaclass instances');
32
33 is_deeply(
34     [ sort Class::MOP::Class->get_all_metaclass_names ],
35     [ 'Class::MOP::Attribute', 'Class::MOP::Class', 'Class::MOP::Method' ],
36     '... got all the metaclass names');