in reply to Need a test for deep equality
Update: What I didn't specify, but perhaps should have, is that parts of the data structure are blessed object references, and I want to compare the guts of the objects.
Conclusion:
Module | Conclusion |
---|---|
Data::Dumper | Hashes not consistently serialised |
Test::More | Only does a shallow comparison. |
Tie::IxHash | Solves a different problem. Anonymous hashes cannot be tied |
FreezeThaw | Only copes with shallow structures |
Struct::Compare | Does not handle references |
Recursive comparison by thraxil | Does not handle object references |
Data::Compare | Does not handle references |
Conclusion: either fix Data::Dumper or roll my own compare routine :-<.
Update 2: I have been looking further at Test::More. There are numerous versions floating about, owing to the way in which people have used it to package up their tests in their own modules.
The definitive Test::More on CPAN has a function eq_hash, which suffers from the same syndrome as Data::Dumper when it comes to ordering of keys.
Update 3: simonm++ The module Class::MakeMethods::Utility::Ref does the business! Shame about the name - something as useful should not IMO have a module name 4 levels down, with no clue as to what it can do.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Re: Need a test for deep equality
by thor (Priest) on Apr 21, 2002 at 18:36 UTC | |
Re^2: Need a test for deep equality
by Anonymous Monk on Aug 01, 2020 at 12:57 UTC |
In Section
Seekers of Perl Wisdom