1#!perl -Tw 2 3use warnings; 4use strict; 5 6use Test::More tests => 11; 7 8use Carp::Assert::More; 9 10use constant PASS => 1; 11use constant FAIL => 2; 12 13my @cases = ( 14 [ undef, FAIL ], 15 [ '', FAIL ], 16 [ [], FAIL ], 17 [ {}, FAIL ], 18 [ 5, FAIL ], 19 [ 0, FAIL ], 20 [ 0.4, FAIL ], 21 [ -10, PASS ], 22 [ -97.9, FAIL ], 23 [ "dog", FAIL ], 24 [ "14.", FAIL ], 25); 26 27for my $case ( @cases ) { 28 my ($val,$status) = @$case; 29 30 my $desc = 'Checking ' . ($val // 'undef'); 31 eval { assert_negative_integer( $val ) }; 32 33 if ( $status eq FAIL ) { 34 like( $@, qr/Assertion.+failed/, $desc ); 35 } 36 else { 37 is( $@, '', $desc ); 38 } 39} 40 41exit 0; 42