1#!perl -Tw 2 3use warnings; 4use strict; 5 6use Test::More tests => 10; 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, PASS ], 19 [ 0, FAIL ], 20 [ 0.4, FAIL ], 21 [ -10, PASS ], 22 [ "dog", FAIL ], 23 [ "14.", FAIL ], 24); 25 26for my $case ( @cases ) { 27 my ($val,$status) = @$case; 28 29 my $desc = 'Checking ' . ($val // 'undef'); 30 eval { assert_nonzero_integer( $val ) }; 31 32 if ( $status eq FAIL ) { 33 like( $@, qr/Assertion.+failed/, $desc ); 34 } 35 else { 36 is( $@, '', $desc ); 37 } 38} 39