title: How to Mock a Static Singleton?
body: <p>I have number of classes I've been asked to add some unit tests to with Rhino Mocks and having some issues.</p>
  
  <p>First off, I know RhinoMocks doesn't allow for the mocking of Static members.  I'm looking for what options I have (besides using TypeMock).</p>
  
  <p>An example of the class I have is similar to the below:</p>
  
  <pre><code>class Example1 : ISomeInterface
  {
      private static ISomeInterface _instance;
  
      private Example1()
      {
          // set properties via private static methods
      }
  
      static Example1()
      {
          _instance = new Example1();
      }
  
      public static ISomeInterface Instance() 
      {
          get { return _instance; }
      }
  
      // Instance properties 
  
      // Other Instance Properties that represent objects that follow a similar pattern.
  }
  </code></pre>
  
  <p>So when I call the above class, it looks something like this...</p>
  
  <pre><code>Example1.Instance.SomeObject.GoDownARabbitHole();
  </code></pre>
  
  <p>Is there a way for me to mock out the <code>SomeObject.GoDownARabbitHole()</code> in this situation or mock out the Instance?  </p>