1#!/usr/bin/perl 2 3use strict; 4use warnings; 5use lib 't/lib'; 6use GenErrorRegex qw< badval_error >; 7 8use Test::More; 9use Test::Exception; 10 11 12{ package Foo::Bar; sub new { bless {}, __PACKAGE__; } } 13 14require MouseRoleTest; 15use Method::Signatures; 16 17my $mouse = WithMouseRole->new; 18my $foobar = Foo::Bar->new; 19 20 21func mousey (MouseRole $foo) {} 22 23 24# positive test 25lives_ok { mousey($mouse) } 'Mouse role passes okay'; 26 27# negative test 28throws_ok { mousey($foobar) } badval_error(undef, foo => MouseRole => $foobar, 'mousey'), 29 'Mouse role fails when appropriate'; 30 31 32done_testing; 33