예제 #1
0
 public void Interleave_InterleavesThreeStreams()
 {
     TestHelper.AssertSequence(
         SequenceAlgorithms.Interleave(Comparer <int> .Default, new[] { 20, 17 }, new[] { 19, 16, 14 },
                                       new[] { 18, 15, 13, 12 }),
         20, 19, 18, 17, 16, 15, 14, 13, 12);
 }
예제 #2
0
 public void Interleave_ThrowsException_WhenStreamIsUnsorted()
 {
     Assert.Throws <InvalidOperationException>(() =>
                                               SequenceAlgorithms.Interleave(Comparer <int> .Default, new[] { 10, 11 }).ToArray());
 }
예제 #3
0
 public void Interleave_ThrowsException_WhenSequenceIsNull()
 {
     Assert.Throws <ArgumentNullException>(() =>
                                           SequenceAlgorithms.Interleave(Comparer <int> .Default, null, new int[] { }));
 }
예제 #4
0
 public void Interleave_ReturnsOriginalSequence_IfOnlyOne()
 {
     TestHelper.AssertSequence(SequenceAlgorithms.Interleave(Comparer <int> .Default, new[] { 10, 9, 8, 7 }),
                               10, 9, 8, 7);
 }
예제 #5
0
 public void Interleave_ReturnsNothingIfSequencesAreEmpty()
 {
     TestHelper.AssertSequence(SequenceAlgorithms.Interleave(Comparer <int> .Default, new int[] { }, new int[] { },
                                                             new int[] { }));
 }