implemented get_isarev, interface now complete, needs more tests
[gitmo/MRO-Compat.git] / t / 10basic.t
CommitLineData
ed71cabb 1
2use strict;
3use warnings;
4
42915ba4 5use Test::More tests => 5;
ed71cabb 6
7BEGIN {
8 use_ok('MRO::Compat');
9}
10
11{
12 package AAA; our @ISA = qw//;
13 package BBB; our @ISA = qw/AAA/;
14 package CCC; our @ISA = qw/AAA/;
15 package DDD; our @ISA = qw/AAA/;
16 package EEE; our @ISA = qw/BBB CCC DDD/;
17 package FFF; our @ISA = qw/EEE DDD/;
18 package GGG; our @ISA = qw/FFF/;
19}
20
21is_deeply(
22 mro::get_linear_isa('GGG'),
23 [ 'GGG', 'FFF', 'EEE', 'BBB', 'AAA', 'CCC', 'DDD' ]
24);
42915ba4 25
26is_deeply(
27 [mro::get_isarev('GGG')],
28 [],
29);
30
31is_deeply(
32 [mro::get_isarev('DDD')],
33 [ 'EEE', 'FFF', 'GGG' ],
34);
35
36is_deeply(
37 [mro::get_isarev('AAA')],
38 [ 'BBB', 'CCC', 'DDD', 'EEE', 'FFF', 'GGG' ],
39);