public void SimpleExample() { var interleaver = new BlockInterleaver(new [] { 1, 0, 2 }); interleaver.Interleave(new [] { 10, 20, 30 }) .ShouldBe(new [] { 20, 10, 30 }); }
public void InterleaveAndDeinterleave(int elementCount) { var input = Enumerable.Range(0, elementCount) .ToArray(); var interleaver = new BlockInterleaver(input.Length, 0); var interleaved = interleaver.Interleave(input); var result = interleaver.Deinterleave(interleaved); input.ShouldBe(result); }