title: Moq Verify Times.Once not working with It.Is specific parameter
body: <p>I have a mock setup:</p>
  
  <pre><code>_mock.Setup( x =&gt; x.Method( It.IsAny&lt;Model&gt;(), It.IsAny&lt;string&gt;(), IsAny&lt;int&gt;()));
  </code></pre>
  
  <p>and verify with:</p>
  
  <pre><code>_mock.Verify(x =&gt; x.Method( It.Is&lt;Model&gt;( p=&gt; p.IsPresent &amp;&amp; p.Search.Equals("term")), It.IsAny&lt;string&gt;(), It.IsAny&lt;int&gt;()), Times.Once());
  
  public Results GetResults( Model model, string s, int i)
  {
       return _repo.Method(model, s, i);
  }
  </code></pre>
  
  <p>During test the method is called twice.  Once with Search == "rubbish" and once with Search=="term". Yet verify fails with the message it's being invoked 2 times.</p>
  
  <p>I though using It.Is on the important parameter should give the correct 'Once'. Any ideas?</p>