The TypeSafe Boundary

I’ve been writing code for some decades now. Over that time there is one thing I have learned through projects that have failed, projects that have been successes, legacy projects, greenfield projects, projects with dedicated experienced teams, projects with fresh new developers, distributed projects, closed source and open source, and all other kinds, being a consultant working with a multitude of companies and open source enthusiast, and that is – strongly typed code prevails.

The concept I am describing below is something I have been using for well over 20 years now, but never got around writing about. So, here it is! Continue Reading →

Debugging the NUnit3TestAdapter

A test adapter sits between a TestHost and the test framework. If you use Visual Studio or dotnet, both starts up a TestHost as a seperate process. The testhost is responsible for locating the adapters, and then invoke them to run the test frameworks on the test code. Debugging the adapters is hard, because it sits between these processes, of which you have no control. Continue Reading →

Moving to SDK-Style projects and package references in Visual Studio, part 1

Background With the introduction of .NET core some time back, Visual Studio got two different project systems. Along with this, we also got two different formats for a ‘csproj’ file. The new format have a better way of including packages, called PackageReference. This also made its way into the old style format, and greatly simplifies Continue Reading →

How to convert NUnit Assert.AreEqual to fluent Assert.That syntax easily

Once upon a time it was declared that an Assert statement should have constraints given as AreEqual and AreNotEqual. Further it was declared that it should be written in the opposite way of how a developer will think, that is with the expected value first and the actual value last. Why this was made so, Continue Reading →

A series of short recipes for VSTS, VISUAL STUDIO and NUnit

I have had a need to have more easy access to information on how to do certain stuff, and have some easy access to simple code blocks, or templates, I can copy/paste.  A blog post is for me somewhat more extensive, and that format was not really suited for smaller notes.  So I decided to Continue Reading →

WrapThat.System : Wrappers for system.io to simplify unit testing

Introduction You have all seen it, you have all done it: Written code using the static methods from the System.IO namespace for handling directories and files.   Or, you are maintaining legacy code where that usage is common in certain places.  And now the code is huge,  you have no unit tests, because unit testing classes Continue Reading →