trAvis - MANAGER
Edit File: 005_large_int.t
# See also http://rt.cpan.org/Public/Bug/Display.html?id=55048 use strict; use Test::More tests => 24; { package MyInteger; use Mouse; has a_int => ( is => 'rw', isa => 'Int', ); has a_num => ( is => 'rw', isa => 'Num', ); } foreach my $i(2**32, 2**40, 2**46) { for my $sig(1, -1) { my $value = $i * $sig; my $int = MyInteger->new( a_int => $value )->a_int; cmp_ok($int, '==', $value, "Mouse groked the Int $i"); my $num = MyInteger->new( a_num => $value )->a_num; cmp_ok($num, '==', $value, "Mouse groked the Num $i"); $value += 0.5; eval { MyInteger->new( a_int => $value ) }; like $@, qr/does not pass the type constraint/, "Mouse does not regard $value as Int"; eval { MyInteger->new( a_num => $value ) }; is $@, '', "Mouse regards $value as Num"; } }