[Pdx-pm] is_deeply and objects
Michael G Schwern
schwern at pobox.com
Fri Feb 25 15:06:18 PST 2005
On Fri, Feb 25, 2005 at 02:40:01PM -0800, Josh Heumann wrote:
> Test::More::is_deeply doesn't seem to differentiate between hashes and
> blessed hashes. Anyone know why?
Because then it would be harder to do this:
is_deeply( $some_object, { foo => 42, bar => 23 } );
Also, what about this?
package Foo;
sub new { return bless { foo => 42 } }
package Bar;
@ISA = qw(Foo);
package main;
use Test::More tests => 1;
my $foo = Foo->new;
my $bar = Bar->new;
is_deeply( $foo, $bar );
If is_deeply were object-aware should that pass or fail? Maybe, maybe not.
So I decided to simply ignore the whole problem. For similar reasons
is_deeply() honors overloading. If you hand it a string overloaded object
it'll compare it as that string.
In the end, is_deeply() can have only one behavior and is one-size-fits-most.
For more flexibility use Test::Deep.
> This question is posed in honor of Schwern's arrival. Schwern: who loves
> ya, baby?
According to my spam folder, Jeanna11111 is hot and waiting for me right now.
More information about the Pdx-pm-list
mailing list