I’ve release NCheck V4, largely tidy up and removal of legacy code and changed the framwork to support net472, net48 and netstandard2.0.
The dictionary/list checking has been reworked as well so we can get per-element reporting e.g. if we look at the list test fixture we can see which elements are not in alignment,
We now get error messages like this…
SampleList.Children Count: Expected:<3>. Actual:<2> [1].Id: Expected:<2>. Actual:<4> Useful when you have more than a couple of items in the list.
NCheck V3, has just been released, not much change but it does now support net35, net452, net462 and netstandard1.5 and above.
Updated NCheck, my test object comparision helper, to version 2.3 which…
Introduces a new technique to wire up conventions Supports multi-threading e.g. test fixtures using NUnit Parallelizable Customizing the CheckerFactory The CheckerFactory has a number conventions which are used to automatically construct Checkers for each class; these conventions can be overridden by the developer if they don’t suit a particular scenario.
We support…
Type conventions: Applied to all instances of a particular type Property conventions: Applied to properties which satisfy a function e.
Updated NCheck, my test object comparision helper, to version 2.2 which extends ICheckerFactory to support Compare<T> - this allows us to override checkers on a per-test basis which I’ve found useful on some of my current projects.
Customizing the CheckerFactory The CheckerFactory has a number conventions which are used to automatically construct Checkers for each class; these conventions can be overridden by the developer if they don’t suit a particular scenario.
Just release V2 of NCheck, my test object comparision helper which tidies up a few things that simplify custom comparisions and excluding properties.
Reworked the ITypeCompareTargter/IPropertyCompareTargeter into a a more generic IConvention<Source, Target> Introduced custom comparers and use convention-based registration for them. Retired Exclude, you can now use Compare(x => x.PropertyName).Ignore, unifies the syntax compared to other options.