title: AutoFixture: mock methods don't return a frozen instance
body: <p>I'm trying to write this simple test:</p>
  
  <pre class="lang-csharp prettyprint-override"><code>var fixture = new Fixture().Customize(new AutoMoqCustomization());
  
  var postProcessingAction = fixture.Freeze&lt;Mock&lt;IPostProcessingAction&gt;&gt;();
  var postProcessor = fixture.Freeze&lt;PostProcessor&gt;();
  
  postProcessor.Process("", "");
  
  postProcessingAction.Verify(action =&gt; action.Do());
  </code></pre>
  
  <p>The <code>Verify</code> check fails.<br>
  The code for postProcessor.Process is </p>
  
  <pre class="lang-csharp prettyprint-override"><code>public void Process(string resultFilePath, string jobId)
  {
      IPostProcessingAction postProcessingAction =
          postProcessingActionReader
              .CreatePostProcessingActionFromJobResultXml(resultFilePath);
  
      postProcessingAction.Do();
  }
  </code></pre>
  
  <p><code>postProcessingActionReader</code> is an interface field initialized through the constructor.</p>
  
  <p>I'm expecting the test to pass but it fails, it turns out the instance of <code>IPostProessingAction</code> returned from the <code>CreatePostProcessingActionFromJobResultXml</code> method is not the same instance as returned from <code>fixture.Freeze&lt;&gt;</code>. </p>
  
  <p>My expectation was that after freezing this Mock object it would inject the underlying mock of the <code>IPostProcessingAction</code> interface in every place its required as well as make all mock methods returning <code>IPostProcessingAction</code> return this same object.</p>
  
  <p>Is my expectation about the return value of the mock methods incorrect?
  Is there a way to change this behavior so that mock methods return the same frozen instance?</p>