The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
use strict;
use warnings;

use Test::More;
use Test::Fatal;

{
    {
        package Foo;
        use Moose;
    }

    my $exception = exception {
        require metaclass;
        metaclass->import( ("Foo") );
    };

    like(
        $exception,
        qr/\QThe metaclass (Foo) must be derived from Class::MOP::Class/,
        "Foo is not derived from Class::MOP::Class");

    isa_ok(
        $exception,
        "Moose::Exception::MetaclassMustBeDerivedFromClassMOPClass",
        "Foo is not derived from Class::MOP::Class");

    is(
        $exception->class_name,
        'Foo',
        "Foo is not derived from Class::MOP::Class");
}

done_testing;