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); }
public void Interleave_ThrowsException_WhenStreamIsUnsorted() { Assert.Throws <InvalidOperationException>(() => SequenceAlgorithms.Interleave(Comparer <int> .Default, new[] { 10, 11 }).ToArray()); }
public void Interleave_ThrowsException_WhenSequenceIsNull() { Assert.Throws <ArgumentNullException>(() => SequenceAlgorithms.Interleave(Comparer <int> .Default, null, new int[] { })); }
public void Interleave_ReturnsOriginalSequence_IfOnlyOne() { TestHelper.AssertSequence(SequenceAlgorithms.Interleave(Comparer <int> .Default, new[] { 10, 9, 8, 7 }), 10, 9, 8, 7); }
public void Interleave_ReturnsNothingIfSequencesAreEmpty() { TestHelper.AssertSequence(SequenceAlgorithms.Interleave(Comparer <int> .Default, new int[] { }, new int[] { }, new int[] { })); }