Test cleanup: reflexivity, symmetry and transitivity
Intentions made clearer
Test cleanup: use then-when-given in unit test names
Small code improvement
Test cleanup: significant fields
Test cleanup: non-nullity
Test cleanup: differentiate tests
Test cleanup: hashCode
Test cleanup: equals signature
Test cleanup: transient and synthetic fields
Test cleanup: better package names
Updated README
Test cleanup: balanced finality
Test cleanup: floats and doubles
Test cleanup: arrays
Test cleanup: enums
Test cleanup: balanced abstractness
Test cleanup: Java API classes; moved tests to more suitable places
Test cleanup: class doesn't override equals or hashCode
Test cleanup: mutable state