```{index} single: Test2::Compare::Object ``` # Test2::Compare::Object Representation of an object during deep comparison. ## 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. ## 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](Meta.md). - $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](Meta.md). This method just delegates. - $obj->add\_field(...) Add a hash-field to check, see [Test2::Compare::Hash](Hash.md). This method just delegates. - $obj->add\_item(...) Add an array item to check, see [Test2::Compare::Array](Array.md). 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). ## SOURCE The source code repository for Test2-Suite can be found at `https://github.com/Test-More/test-more/`. ## MAINTAINERS - Chad Granum ## AUTHORS - Chad Granum ## COPYRIGHT Copyright Chad Granum . 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/`