OSS Catching Up


It's rare these days to have a mostly free evening to look after some OSS.


I was able to release a healthy and round which can be obtained from Nuget or Bintray.
The only change was to surface an IEqualityComparer instance to be able to compare code instances. The use case? Using it in dictionaries or sets. The reason? Performance.


It seems that some folks did notice that the performance of the default comparer for enums is not stelar due to boxing and unboxing of values. The penalty is somewhat lessened in .NET 4, but by exposing a comparer backed up by expressions, one can get easily a 6x performance gain (sometimes more, but not consistently).

So, next time need to compare more than a handlful of CurrencyIsoCode instances, it is as easy as using the Currency.Code.Comparer instance to get a small perf boost.



I have not worked that much on the Testing.Commons family lately. Maybe because it already gives me what I demand from it.

But there has been for some time a new version of a package Testing.Commons.NUnit depends on : the fantastic ExpectedObjects and it annoyed me not updating it with peace of mind (or assembly redirects).
Newer features are not useful for my purposes, but nothing of what I use is broken or maybe I trust my tests too much.