public void ToArray() { var array = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; var input = array.AsArraySegment(2, 5); var output = ArraySegmentExtensions.ToArray(input); output .Should().BeEquivalentTo(input); }
public void CopyToArray() { var array = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; var input = array.AsArraySegment(2, 5); var output = new byte[10]; ArraySegmentExtensions.CopyTo(input, output); output.Take(5) .Should().BeEquivalentTo(input); }
public void CreateBinaryReader() { var array = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; using (var reader = ArraySegmentExtensions.CreateBinaryReader(array)) { foreach (var b in array) { reader.ReadByte() .Should().Be(b); } } }
public void CreateBinaryWriter() { var array = new byte[10]; using (var writer = ArraySegmentExtensions.CreateBinaryWriter(array)) { for (byte b = 0; b < array.Length; b++) { writer.Write(b); } array .Should().BeEquivalentTo(0, 1, 2, 3, 4, 5, 6, 7, 8, 9); } }
public void CreateStream() { var array = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; using (var stream = ArraySegmentExtensions.CreateStream(array)) { var buffer = new byte[array.Length]; stream.Length .Should().Be(array.Length); stream.Read(buffer, 0, buffer.Length); buffer .Should().BeEquivalentTo(array); } }