Looking Back: 6 Examples How Isolator Became More Awesome This Year

During the last couple of days I’ve received some questions about whether Isolator’s maintenance subscription, with the upgrades and bug fixes that come with it, is worth the investment. To answer these questions I looked back at our release notes, commit logs and backlog documentation to see what we accomplished since this time last year. Writing these emails turned from a chore to a joy, and I just had to share the pride – we have been able to add so much value to the product this year! Here are the highlights:
  1. The AAA API – now, this is a biggy, so I’ll take a few lines to explain. Our C# AAA API was released almost exactly a year ago (the 3rd week of August if you want to be pedantic), and was improved, extended and polished throughout the year. Using it myself, and listening closely to customer feedback I can say with confidence: it’s simply awesome. The ease of use when writing tests, and readability when reviewing them is superb; however, it’s more than syntactic sugar: we put painstaking effort in designing the API for maintainability. The default behaviors, feature set (Recursive Fakes, True Properties, True Indexers and more) protect your test code: if you refactor the code under test without changing the way interaction with your fake objects works, in all probability you won’t have to change your test code. This is huge to me – there’s nothing more depressing than changing tests for change’s sake, even if no functionality was changed. This is what we’ve aimed for, and I’m proud to say we made it.
  2. VB.NET support -Isolator’s VB friendly API is designed around the same design principals that make our c# API great, but specifically for the VB developer. To make sure we did this right we all turned (or returned) to VB development in order to feel the pain when using an API obviously designed for another language.
  3. MsCorLib faking support – we really thought it couldn’t be done (I’ll spare you the technical reasons). Faking the framework’s core object model, from DateTime to data structures and file system became our eternal known limitation. Then when we developed Typemock Racer, and some creative thinking showed us to the way to fake mscorlib types. Isolator already supports faking DateTime.Now and File.ReadAllText, and much more will come (by the way, if you have an mscorlib type you would like to see joining the party next, leave me a comment below).
  4. Isolator for SharePoint – it is excessively hard to fake behavior on the SharePoint object model. In fact, Isolator is the only tool that can. Now we offer a dedicated SharePoint product, and lots of materials on unit testing SharePoint on our site and on independent experts’ sites.
  5. Tons of new features – really too many to list here. Naming a few off the top of my head (and linking to the details): faking Live Object behavior, better Future Instance faking, advanced constructor handling (1, 2) , and duck-type swapping (a personal favorite of mine).
  6. Megatons of bug fixes – I would be silly to try and create any sort of list, but let me say this (again): support is top priority for us. We actively and aggressively pursue bugs. Sometimes the bugs fight back, but we mostly win :). All Isolator releases come with what we judge as the most important bug fixes, and we make sure to put in a good number of those.
So there you go. Of course, there’s much more. I’m strongly biased toward the product development, but our site received a major overhaul and offers better accessibility to learning materials, we improved our customer support process, provide unit testing webinars and participated in lots of events and talks. It’s been a busy year, and looking back at it (pretty much at a random point in time too) makes me feel happy with the value we managed to provide. Excuse me while I pat myself (and the rest of the team) on the back. Don’t worry, we won’t let up – expect some pretty exciting stuff soon!