Test2::Compare::Bag - Internal representation of a bag comparison.


Test2::Compare::Bag - Internal representation of a bag comparison.


This module is an internal representation of a bag for comparison purposes.


$bool = $arr->ending

Set this to true if you would like to fail when the array being validated has more items than the check. That is, if you check for 4 items but the array has 5 values, it will fail and list that unmatched item in the array as unexpected. If set to false then it is assumed you do not care about extra items.

$hashref = $arr->items()

Returns the arrayref of values to be checked in the array.


Accepts an arrayref.

Note: that there is no validation when using set_items, it is better to use the add_item interface.

$name = $arr->name()

Always returns the string "<BAG>".

$bool = $arr->verify(got => $got, exists => $bool)

Check if $got is an array reference or not.


Push an item onto the list of values to be checked.

@deltas = $arr->deltas(got => $got, convert => \&convert, seen => \%seen)

Find the differences between the expected bag values and those in the $got arrayref.


The source code repository for Test2-Suite can be found at http://github.com/Test-More/Test2-Suite/.


Chad Granum <exodist@cpan.org>
Gianni Ceccarelli <dakkar@thenautilus.net>


Chad Granum <exodist@cpan.org>
Gianni Ceccarelli <dakkar@thenautilus.net>


Copyright 2017 Chad Granum <exodist@cpan.org>.

Copyright 2017 Gianni Ceccarelli <dakkar@thenautilus.net>

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

See http://dev.perl.org/licenses/