TODO   [plain text]

* compare handlers:
	hash/array slice
* warn about noclass in a circular structure... dunno now...

* add tests for Sets of various things

* rename diagnostics to diag_full

* add Data::Dumper features, including dumping with errors highlighted

* get any to generate diags for each part and splurge all if none match

* add tests for useclass

* will set call methods an unknown number of times? Isn't the result cached

* cache method calls so that multiple call won't make a difference. This
will only work if they don't also look inside the object

* fix the compare() system so I can use descend

* protect against dieing in slices

* use sets in all and any's compare method

* add not()

* give a way to name tests so that they can be reused

* use set/bag in set/bag compare()

* add a holder like Code::Perl's

* add variables so { key1 => var("this"), key2 => var("this")} makes sure
that $h->{key1} equals $h->{key2}. Make sure they are implemented using
local for scoping (no! otherwise the above will break). Maybe setvar and

* add < > lt gt

* add label() to allow labelling of sections

* fix add for sets so that ignore dupes doesn't kick in too early

* add deep() explicitly request deep - why?

* clean up quoting

* fix Test::Deep::Set::add - I'll do that with the set cleanup

* worry about what happens when a temp array ref gets the address of a
previous temp array ref and we check them in the cache. Do we need a class
for temps?

* add more tests for reftype

* add glob stuff

* test the compare methods

* make String check definedness 

* make regexprefs work by using some more general overload mechanism

* when failing a number due to strictness we should give different diags but
diags aren't flexible enough yet

* add docs for comparisons

* for circular refs, we are not looking for simulations but for graph
isomorphisms (or possibly a class of homomorphisms, that preserve the
distinctness of containers). We need a cache that can answer "assuming a=b,
are these two cache-equal?" and can keep track of dependencies. Shouldn't be
too hard to make it possible but making it fast could be a problem. Would
naming things help? Is this getting prological?

* use Class::ISA for ISA stuff, especially under 5.6.0

* get methods to emit better diags for non existant methods, including class
of object

* all() doesn't need to tell you part n, what matters is the test that was
going on. Also any() should diags for each failure so they can be displayed
if nothing passes

* get set using some standard subtests

* split String into String and is_eq or streq

* make an iterator comparator that can run over an array or whatever use it
for Array, ArrayEach, ArrayAny

* need to differentiate between UNIVERSAL::isa and ->isa

* beef up the reftype checking for ScalarRef so bad $self->{val} won't break

* think about merging test_class and test_reftype into 1

* fix compare for Ignore, All and Code

* glob comparison

* code comparison using B::Deparse? sounds like a bad idea due to private
data in closures

* add eval at the outler layer to catch all nasties and report them along
with the data path at which they occured