logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Test2::Compare::Object - Representation of an object during deep comparison.

Authors

       Chad Granum <exodist@cpan.org>

Description

       This class lets you specify an expected object in a deep comparison. You can check the fields/elements of
       the underlying reference, call methods to verify results, and do meta checks for object type and ref
       type.

Maintainers

       Chad Granum <exodist@cpan.org>

Methods

       $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).

Name

       Test2::Compare::Object - Representation of an object during deep comparison.

Source

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

See Also