title: how to verify that a method was called with an argument of a specific type
body: <p>I need to verify that a method was called with an object of a specific type</p>
  
  <p>this is the interface with the method that I want to test that it was called:</p>
  
  <pre><code>interface IPlayer
  {
     void Send(object message);
  }
  </code></pre>
  
  <p>the test:</p>
  
  <pre><code>var player1 = A.Fake&lt;IPlayer&gt;();
  room.AddPlayer(player1);
  
  room.DoSomething();
  
  A.CallTo(() =&gt; player1.Send(A&lt;Type1&gt;.Ignored)).MustHaveHappened();
  </code></pre>
  
  <p>since there are multiple calls to <code>player1.Send</code> with many different objects I get <code>InvalidCastException</code></p>
  
  <p>anybody knows how to do this properly ?</p>