title: C# CollectionAssert.Contains (int[][], int[]) does not pass
body: <p>The function I want to test returns an <code>int[][] aaiCluster1</code> with data  </p>
  
  <pre><code>aaiCluster1[0] = int[] { 1, 2 }
  aaiCluster1[1] = int[] { 0 }
  </code></pre>
  
  <p>so I test using</p>
  
  <pre><code>CollectionAssert.AreEqual (aaiCluster1[0], new int[] { 1, 2 });
  CollectionAssert.AreEqual (aaiCluster1[1], new int[] { 0 });
  </code></pre>
  
  <p>But the order of the <code>int[]</code> is not important and may change, so I rather want to test </p>
  
  <pre><code>CollectionAssert.Contains (aaiCluster1, new int[] { 1, 2 });
  </code></pre>
  
  <p>but this fails.<br>
  Is this command not able to evaluate the content of the array?<br>
  Any ideas for a suitable workaround, that does not require additional helper functions?</p>
  
  <p><strong>edit</strong><br>
  I have to clarify:<br>
  <em>it's about testing whether a jagged array contains another simple array <strong>nested</strong> in it.</em><br>
  <strong>What else must I explain??</strong></p>
  
  <p><strong>edit #2</strong><br>
  2 answers suggesting <code>CollectionAssert.AreEquivalent</code> were given already and have been deleted again, because <code>AreEquivalent</code> is not what I'm looking for... it does not work here.<br>
  1 answer suggesting <code>Sequence.whatever</code> was given, and it's even more wrong.</p>
  
  <hr>
  
  <p><strong>edit #3</strong><br>
  I reverted Igor's changes to my question, because I feel they too much alter the meaning. However, I think his words are a good alternative describtion, so here is his text:  </p>
  
  <p>So I test using</p>
  
  <pre><code>CollectionAssert.AreEqual(new int[] { 1, 2 }, aaiCluster1[0]);
  CollectionAssert.AreEqual(new int[] { 0 }, aaiCluster1[1]);
  </code></pre>
  
  <p>But the order in <code>aaiCluster1</code> (actual) is not known so the above tests could fail as soon as the returned order in <code>aaiCluster1</code> changes.</p>
  
  <p><strong>Question</strong></p>
  
  <p>How can I call something similar to this</p>
  
  <pre><code>CollectionAssert.AreEqual(new int[] { 1, 2 }, aaiCluster1);
  // CollectionAssert.AreEqual(ICollection&lt;T&gt; expected, ICollection&lt;ICollection&lt;T&gt;&gt; actual);
  </code></pre>
  
  <p>where all arrays in <code>aaiCluster1</code> are evaluated against the expected parameter <code>new int[] { 1, 2 }</code> and the assert passes if there is at least one contained array that is found to be Equal to the expected?</p>