$class = $obj->meta_class
The meta-class to be used when checking the object type. This is mainly listed because it is useful
to override for specialized object subclasses.
This normally just returns Test2::Compare::Meta.
$class = $obj->object_base
The base-class to be expected when checking the object type. This is mainly listed because it is
useful to override for specialized object subclasses.
This normally just returns 'UNIVERSAL'.
$obj->add_prop(...)
Add a meta-property to check, see Test2::Compare::Meta. This method just delegates.
$obj->add_field(...)
Add a hash-field to check, see Test2::Compare::Hash. This method just delegates.
$obj->add_item(...)
Add an array item to check, see Test2::Compare::Array. This method just delegates.
$obj->add_call($method, $check)
$obj->add_call($method, $check, $name)
$obj->add_call($method, $check, $name, $context)
Add a method call check. This will call the specified method on your object and verify the result.
$method may be a method name, an array ref, or a coderef.
If it's an arrayref, the first element must be the method name, and the rest are arguments that will
be passed to it.
In the case of a coderef it can be helpful to provide an alternate name. When no name is provided the
name is either $method or the string '\&CODE'.
If $context is 'list', the method will be invoked in list context, and the result will be an
arrayref.
If $context is 'hash', the method will be invoked in list context, and the result will be a hashref
(this will warn if the method returns an odd number of values).