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 1.079 second using v1.01-cache-2.11-cpan-0a987023a57 )