title: Mock an abstract class having no public constructors using MS Fakes
body: <p>I am trying to mock abstract classes having no public constructors like e.g. ToolStripItem residing in Systems.Windows.Forms namespace. The problem is that the Shim class that is generated by MS Fakes for an abstract class above has a single constructor with a single parameter where the instance of the abstract class has to be provided. In the case of ToolStripItem this constructor is like that:</p>
  
  <pre><code>public ShimToolStripItem(ToolStripItem instance)
  </code></pre>
  
  <p>What could I provide as the value of instance parameter in order to be able to effectively mock methods and properties of ToolStripItem, given the fact that in the assembly I am testing there are not any classes inheriting from ToolStripItem ?</p>
  
  <p>Trying to pass null as the value of instance parameter fails with an exception occurring inside the shim code. So obviously this is not supported.</p>
  
  <p>Creating a test class that will inherit from the abstract class and implementing whatever is needed, will work, but I would like a more generic solution.</p>