Assert-Conditional
view release on metacpan or search on metacpan
lib/Assert/Conditional.pm view on Meta::CPAN
sub assert_nonlist_context ( ) ;
sub assert_nonnegative ( $ ) ;
sub assert_nonnegative_integer ( $ ) ;
sub assert_nonnumeric ( $ ) ;
sub assert_nonobject ( $ ) ;
sub assert_nonpositive ( $ ) ;
sub assert_nonpositive_integer ( $ ) ;
sub assert_nonref ( $ ) ;
sub assert_nonvoid_context ( ) ;
sub assert_nonzero ( $ ) ;
sub assert_not_in_list ( $@ ) ;
sub assert_numeric ( $ ) ;
sub assert_object ( $ ) ;
sub assert_object_ainta ( $@ ) ;
sub assert_object_boolifies ( $ ) ;
sub assert_object_can ( $@ ) ;
sub assert_object_cant ( $@ ) ;
sub assert_object_isa ( $@ ) ;
sub assert_object_method ( ) ;
sub assert_object_nummifies ( $ ) ;
sub assert_object_overloads ( $@ ) ;
lib/Assert/Conditional.pm view on Meta::CPAN
for my $straw (@haystack) {
#assert_nonref($straw);
return if $undef_needle
? !defined($straw)
: ("$needle" eq (defined($straw) && "$straw"))
}
$needle = "undef" unless defined $needle;
botch "couldn't find $needle in " . join(", " => map { defined() ? $_ : "undef" } @haystack);
}
sub assert_not_in_list($@)
:Assert( qw[list] )
{
my($needle, @haystack) = @_;
my $found = 0;
for my $straw (@haystack) {
if (defined $needle) {
next if !defined $straw;
if ("$needle" eq "$straw") {
$found = 1;
last;
lib/Assert/Conditional.pm view on Meta::CPAN
assert_nonlist_context ( ) ;
assert_nonnegative ( $ ) ;
assert_nonnegative_integer ( $ ) ;
assert_nonnumeric ( $ ) ;
assert_nonobject ( $ ) ;
assert_nonpositive ( $ ) ;
assert_nonpositive_integer ( $ ) ;
assert_nonref ( $ ) ;
assert_nonvoid_context ( ) ;
assert_nonzero ( $ ) ;
assert_not_in_list ( $@ ) ;
assert_numeric ( $ ) ;
assert_object ( $ ) ;
assert_object_ainta ( $@ ) ;
assert_object_boolifies ( $ ) ;
assert_object_can ( $@ ) ;
assert_object_cant ( $@ ) ;
assert_object_isa ( $@ ) ;
assert_object_method ( ) ;
assert_object_nummifies ( $ ) ;
assert_object_overloads ( $@ ) ;
lib/Assert/Conditional.pm view on Meta::CPAN
L</assert_method>, L</assert_min_keys>, L</assert_minmax_keys>,
L</assert_multi_line>, L</assert_natural_number>, L</assert_negative>,
L</assert_negative_integer>, L</assert_nfc>, L</assert_nfd>,
L</assert_nfkc>, L</assert_nfkd>, L</assert_no_coredump>,
L</assert_nonalphabetic>, L</assert_nonascii>, L</assert_nonastral>,
L</assert_nonblank>, L</assert_nonbytes>, L</assert_nonempty>,
L</assert_nonlist_context>, L</assert_nonnegative>,
L</assert_nonnegative_integer>, L</assert_nonnumeric>,
L</assert_nonobject>, L</assert_nonpositive>,
L</assert_nonpositive_integer>, L</assert_nonref>,
L</assert_nonvoid_context>, L</assert_nonzero>, L</assert_not_in_list>,
L</assert_numeric>, L</assert_object>, L</assert_object_ainta>,
L</assert_object_boolifies>, L</assert_object_can>, L</assert_object_cant>,
L</assert_object_isa>, L</assert_object_method>,
L</assert_object_nummifies>, L</assert_object_overloads>,
L</assert_object_stringifies>, L</assert_odd_number>,
L</assert_open_handle>, L</assert_positive>, L</assert_positive_integer>,
L</assert_private_method>, L</assert_protected_method>,
L</assert_public_method>, L</assert_qualified_ident>, L</assert_refref>,
L</assert_reftype>, L</assert_regex>, L</assert_regular_file>,
L</assert_sad_exit>, L</assert_scalar_context>, L</assert_scalarref>,
lib/Assert/Conditional.pm view on Meta::CPAN
L</assert_ascii_ident>, L</assert_full_perl_ident>,
L</assert_known_package>, L</assert_qualified_ident>, and
L</assert_simple_perl_ident>.
=item C<:io>
L</assert_ioref> and L</assert_open_handle>.
=item C<:list>
L</assert_in_list>, L</assert_list_nonempty>, and L</assert_not_in_list>.
=item C<:number>
L</assert_box_number>, L</assert_digits>, L</assert_even_number>,
L</assert_fractional>, L</assert_hex_number>, L</assert_in_numeric_range>,
L</assert_integer>, L</assert_natural_number>, L</assert_negative>,
L</assert_negative_integer>, L</assert_nonnegative>,
L</assert_nonnegative_integer>, L</assert_nonnumeric>,
L</assert_nonpositive>, L</assert_nonpositive_integer>, L</assert_nonzero>,
L</assert_numeric>, L</assert_odd_number>, L</assert_positive>,
lib/Assert/Conditional.pm view on Meta::CPAN
=back
=head2 Assertions about Lists
=over
=item assert_in_list(I<STRING>, I<LIST>)
The first argument must occur in the list following it.
=item assert_not_in_list(I<STRING>, I<LIST>)
The first argument must not occur in the list following it.
=item assert_list_nonempty(I<LIST>)
The list must have at least one element, although that
element does not have to nonblank or even defined.
=back
t/asserts.t view on Meta::CPAN
my $string = "string";
my @empty = ();
my %empty;
my @stuff = ("a" .. "z");
my @ten = (1 .. 10);
my $class = "IO::File";
my $obj = $class->new();
my @primary_colors = qw(red green blue);
my @all_colors = (@primary_colors, qw(orange yellow cyan violet));
my @not_colors = qw(black white pink purple);
my %primary_color = map { $_ => 1 } @primary_colors;
my $primary_color_ref = \%primary_color;
my %locked_hash = %primary_color;
my $locked_hashref = \%locked_hash;
lock_keys %locked_hash;
my %unlocked_hash = %primary_color;
my $unlocked_hashref = \%unlocked_hash;
my %hash_of_hashes = (
t/asserts.t view on Meta::CPAN
q{assert_eq_letters("one two", "ONE TWO")},
q{assert_eq_letters("one two", "ONE, TWO")},
q{assert_in_list("red", qw(one fish two fish red fish blue fish))},
q{assert_in_list(5, 1 .. 10)},
q{assert_in_list(5, 1, 3, undef, [], 5, 10)},
q{assert_in_list(\@ARGV, 1, 3, undef, \@ARGV, 5, 10)},
q{assert_in_list(undef, 1 .. 10, undef)},
q{assert_in_list(undef, undef)},
q{assert_not_in_list("red", qw(one fish two fish fish blue fish))},
q{assert_not_in_list(5, 6 .. 10)},
q{assert_not_in_list(1, 20 .. 30)},
q{assert_not_in_list(5, 1, 3, undef, [], 10)},
q{assert_not_in_list(undef, 1 .. 10)},
q{assert_not_in_list(undef)},
q{assert_list_nonempty( 1..10 )},
q{assert_array_nonempty( @stuff )},
q{assert_arrayref_nonempty( \@stuff )},
q{assert_arrayref_nonempty( [1..5] )},
q{assert_array_length(@ten)},
q{assert_array_length(@ten, 10)},
q{assert_array_length_min(@ten, 5)},
t/asserts.t view on Meta::CPAN
q{assert_nonbytes()},
q{assert_nonempty()},
q{assert_nonnegative()},
q{assert_nonnegative_integer()},
q{assert_nonnumeric()},
q{assert_nonobject()},
q{assert_nonpositive()},
q{assert_nonpositive_integer()},
q{assert_nonref()},
q{assert_nonzero()},
q{assert_not_in_list()},
q{assert_numeric()},
q{assert_object()},
q{assert_odd_number()},
q{assert_open_handle()},
q{assert_positive()},
q{assert_positive_integer()},
q{assert_qualified_ident()},
q{assert_reftype()},
q{assert_regex()},
q{assert_regular_file()},
t/asserts.t view on Meta::CPAN
q{ no warnings 'redefine'; sub fn2 { assert_argc_minmax(25,10) }fn2(1, 2, 3) },
q{ no warnings 'redefine'; sub fn2 { assert_argc_minmax(1,2) }fn2(1, 2, 3) },
q{assert_in_list("red", qw(one fish two fish fish blue fish))},
q{assert_in_list(5, 6 .. 10)},
q{assert_in_list(1, 20 .. 30)},
q{assert_in_list(5, 1, 3, undef, [], 10)},
q{assert_in_list(undef, 1 .. 10)},
q{assert_in_list(undef)},
q{assert_not_in_list("red", qw(one fish two fish red fish blue fish))},
q{assert_not_in_list(5, 1 .. 10)},
q{assert_not_in_list(5, 1, 3, undef, [], 5, 10)},
q{assert_not_in_list(\@ARGV, 1, 3, undef, \@ARGV, 5, 10)},
q{assert_not_in_list(undef, 1 .. 10, undef)},
q{assert_not_in_list(undef, undef)},
q{assert_list_nonempty( () )},
q{assert_array_nonempty( @some::thing )},
q{assert_arrayref_nonempty( \@some::thing )},
q{assert_arrayref_nonempty( [ ] )},
q{assert_array_length(@empty)},
q{assert_array_length(@empty, 10)},
q{assert_array_length_min(@empty, 5)},
q{assert_array_length_max(@primary_colors, 1)},
t/asserts.t view on Meta::CPAN
q{assert_hashref_keys_allowed_and_required(\\%primary_color,, ["red"] [qw<red blue green>])},
q{assert_hashref_keys_allowed_and_required($primary_color_ref, ["red"], [qw<red blue green>])},
q{assert_hashref_keys_required(\\%primary_color, qw<red pink green>)},
q{assert_hashref_keys_allowed(\\%primary_color, qw<red pink green>)},
q{assert_hashref_keys_required($primary_color_ref, qw<red pink green>)},
q{assert_hashref_keys_allowed($primary_color_ref, qw<red pink green>)},
q{assert_keys(%primary_color, qw<red pink green>)},
q{assert_keys(%primary_color, @all_colors)},
q{assert_keys(%primary_color, @not_colors)},
q{assert_keys(%primary_color, @empty)},
q{assert_keys($primary_color_ref, qw<red pink green>)},
q{assert_keys($primary_color_ref, @all_colors)},
q{assert_keys($primary_color_ref, @not_colors)},
q{assert_keys($primary_color_ref, @empty)},
q{assert_min_keys(%primary_color, qw<red pink green>)},
q{assert_min_keys(%primary_color, @empty)},
q{assert_min_keys(%primary_color, @all_colors)},
q{assert_min_keys(%primary_color, @not_colors)},
q{assert_min_keys($primary_color_ref, qw<red pink green>)},
q{assert_min_keys($primary_color_ref, @all_colors)},
q{assert_min_keys($primary_color_ref, @not_colors)},
q{assert_max_keys(%primary_color, qw<orange yellow violet>)},
q{assert_max_keys(%primary_color, @not_colors)},
q{assert_max_keys(%primary_color, @empty)},
q{assert_max_keys($primary_color_ref, qw<orange yellow violet>)},
q{assert_max_keys($primary_color_ref, @not_colors)},
q{assert_minmax_keys(%primary_color, @all_colors, @primary_color)},
q{assert_minmax_keys($primary_color_ref, @all_colors, @primary_colors)},
q{assert_minmax_keys(%primary_color, @empty, @empty)},
q{assert_minmax_keys($primary_color_ref, @empty, @empty)},
q{assert_unlocked(%locked_hash)},
q{assert_unlocked($locked_hashref)},
q{assert_unlocked($hash_of_hashes{LOCKED})},
q{assert_unlocked($hashref_of_hashes->{LOCKED})},
( run in 0.403 second using v1.01-cache-2.11-cpan-0a987023a57 )