The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!perl -w

use strict;
use Test::More tests => 18;

use MyMRO;
BEGIN{
	require MRO::Compat if $] < 5.010;
}
use mro ();

{
	package A;
	package B;
	our @ISA = qw(A);
	package C;
	our @ISA = qw(A);
	package D;
	our @ISA = qw(B C);

	package E;
	use mro 'c3';
	our @ISA = qw(B C);

	package F;
	use mro 'dfs';
	our @ISA = qw(B C);
}

foreach my $class (qw(A B C D E F)){
	is_deeply mro_get_linear_isa($class), mro::get_linear_isa($class), "mro_get_linear_isa($class)";
	like mro_get_pkg_gen($class), qr/\A \d+ \z/xms, 'mro_get_pkg_gen';

	ok eval{ mro_method_changed_in($class); 1 }, 'mro_method_changed_in';# How to test this behavior?
}