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.

$arrayref = $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


Chad Granum <>
Gianni Ceccarelli <>


Chad Granum <>
Gianni Ceccarelli <>


Copyright 2018 Chad Granum <>.

Copyright 2018 Gianni Ceccarelli <>

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