title: Moq Match and Verify Array / IEnumerable parameters in method setup
body: <p>I'm having problems verifying Ienumerable / Array type parameters when setting up expectation for methods call on my mock objects.  I think since it's matching different references it doesn't consider it a match.  I just want it to match the contents of the array, sometimes I don't even care about the order.</p>
  
  <pre><code>mockDataWriter.Setup(m =&gt; m.UpdateFiles(new string[]{"file2.txt","file1.txt"} ) );
  </code></pre>
  
  <p>Ideally I want something that works like the following, I could probably write an extension method to do this.</p>
  
  <pre><code>It.Contains(new string[]{"file2.txt","file1.txt"})
  
  It.ContainsInOrder(new string[]{"file2.txt","file1.txt"})
  </code></pre>
  
  <p>The only built in way I can match these right now is with the predicate feature, but it seems this problem is common enough it should be built in.</p>
  
  <p>Is there a built in way to match these types, or extension library I can use.  If not I'll just write an extension method or something.</p>
  
  <p>Thanks </p>