title: FakeItEasy error: No calls were made to the fake object
body: <p>I have a small class which has a small method which gets invoked when the event is raised.</p>
  
  <pre><code>public class DemoUI
  {
      public DemoUI(TestRunner runner)
      {
          runner.UserMessage += OnEventRunThis;
      }
  
      protected void OnEventRunThis(object sender, UserMessageEventArgs e)
      {
          Console.WriteLine(e.Message);
      }
  }
  </code></pre>
  
  <p>Now in my test I create an object of type <code>TestRunner</code> and execute <code>Execute</code> method on it. This raises an event which is then intercepted and the <code>OnEventRunThis</code> dutifully runs printing the message. But the Fake it easy reports the error that "No calls were made to the fake object".</p>
  
  <pre><code>var _sutTestRunner = new TestRunner();
  var fakeDemoUI = A.Fake&lt;DemoUI&gt;(x =&gt; x.WithArgumentsForConstructor(() =&gt; new DemoUI(_sutTestRunner)));
  
  _sutTestRunner.Execute();
  
  A.CallTo(fakeDemoUI).Where(x =&gt; x.Method.Name == "OnEventRunThis").MustHaveHappened();
  </code></pre>
  
  <p>The method <code>OnEventRunThis</code> is getting called because I see the output getting printed in the output window. So this in my limited understanding means that the call has been made to Fake object. </p>
  
  <p>Or am I missing something? Or is there any other way out to do this?</p>