sebastianbergmann/phpunit — pull request #1080 by sdboyer (2013-12-20 22:16:56+00:00)
Title: Add comparator for SplDoublyLinkedList family

pursuant to #1076, this introduces a comparator for handling `SplDoublyLinkedList` and its built-in children, `SplStack` and `SplQueue`.

although Sebastian indicated in the original issue that he preferred to have separate comparators for each spl datastructure, a look at the code should make it obvious as to why i condensed these three into one. (it's because [Liskov](http://en.wikipedia.org/wiki/Liskov_substitution_principle) more or less holds for this case)

i think this covers most of the things, but this being my first PR for phpunit, i have some questions:

* when creating the new file, i just copied the header and changed the values that seemed to make sense. (my name under authorship, the "available since" version number). not sure if this was correct, lmk if not, or if i missed something.
* there are two test failures locally, both from the same provider data: when an object that is equal, but not the same, is provided, the system fails. this is because the comparator is using a simple equality check. i suspect this is not the desirable behavior, but i wanted guidance before going after what i think IS...
* ...which is that, going back to the discussion in #1076, we extend the array converter to have special cases for this datastructure. this seems better, as while there is value in the comparator itself (it checks length and iteration mode), normalizing the datastructure back to the array may be useful to other diffing segments.

of course, this is for equals, not for identity, so maybe it's good the way it is.