Verify collection as a method parameter
Strictly to answer the question at hand, you have local variables for the individual contracts already, so you can just re-use them:

ohterClassMock.Verify(mock =&gt; mock.MethodToTest(It.Is&lt;Contract&gt;(c =&gt; contract.Equals(c))));
ohterClassMock.Verify(mock =&gt; mock.MethodToTest(It.Is&lt;Contract&gt;(c =&gt; contract2.Equals(c))));


This assumes you have implemented IEquatable&lt;Contract&gt; and/or overridden Object.Equals on your Contract object.

Given the behavior of most test and mocking frameworks, it will probably save you a lot of grief to go ahead and override Object.ToString so that failed tests will print out nicer expected/actual values than the fully-qualified type names.

Also, as an aside, you can create your list with a collection initializer if you do so after building your individual contracts:

var contracts = new List&lt;Contract&gt; { contract, contract2 };


Or, if your method takes in IEnumerable&lt;Contract&gt;, it may be even simpler to use:

var contracts = new [] { contract, contract2 };