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