tpierrain/NFluent

NFluent may provide surprising results when comparing complex structures of list and dictionaries

dupdob opened this issue · 0 comments

As per comment:

As a heads-up however, I need to do some further testing to exactly pinpoint some remaining problematic ares, possibly raising up separate issues then - but that goes for the next week. Some initial finding with the beta:

Contains() and Contains().Only() structures have similar key order issue than described here, for dict-of-dicts.
IsEquivalentTo has issues with key orders of dict-of-lists-of-dicts
IsEquivalentTo might still have key issue with params-of-lists-of-dicts (have to reproduce minimun case to confirm that.)
I agree there is potential need for both fully weak and fully strong type equality check,
but for most of my own testing purposes I would still need some mechanism for strong-list-equality && weak-dict-equality recursive check realized by one top level algorithm.
Not tested yet with generic types of IEnumerable / IEnumerable<KeyValuePair<Tkey, Tvalue>> / ICollection , but will get there eventually, too.
Background: I have a rather extensive self-test set against an automatic-data-conversion-layer between 2 technologies, supporting conversion of for all kinds of array/list/dict nested constructs. NFluent comes into play now that we are trying to find a new, self-standing and clean assertion library to do all the heavy lifting of data comparison work.