System.IO.Abstractions Testing and Production Code

I wanted to create a mock file system, rather than a real set up. It’s a lot easier. Plus you can easily stub for certain specific situations you want to test for.

In order to test for something you should be able to substitute, in your production code, certain stubs, or mocks.

In this case, we are stubbing (because a mock is something that can fail a test).

What are we trying to do?

We are trying to get various file paths, and access to various AutoCAD .net Drawings, given this object GetDrawingType. I might have to rename this object to convey exactly what it does: (i) identifies where other drawings are - so we can programatically access them and (ii) identifies the type of drawing we are currently dealing with.

I have not 100% fixed in my mind, from a polymorphic perspective, the abstractios involved in various panel drawings, but I’m getting pretty close.

I’ll be working on my arc de triumph, the BKTools dll, to make things easier for everyone, especially the handling of different clients and different drawings in an abstract manner.

Sample Test Code

Production Code

Written on August 16, 2018