public void EmptyBytesReader() { ReadOnlyBytes bytes = Create(""); var reader = BufferReader.Create(bytes); Assert.False(BufferReaderExtensions.TryReadUntill(ref reader, out var range, (byte)' ')); bytes = Parse("|"); reader = BufferReader.Create(bytes); Assert.False(BufferReaderExtensions.TryReadUntill(ref reader, out range, (byte)' ')); }
public void MultiSegmentBytesReaderNumbers() { var bytes = BufferFactory.Create(new byte[][] { new byte[] { 0 }, new byte[] { 1, 2 }, new byte[] { 3, 4 }, new byte[] { 5, 6, 7, 8 }, new byte[] { 8, 0 }, new byte[] { 1, }, new byte[] { 0, 2, }, new byte[] { 1, 2, 3, 4 }, }); var reader = BufferReader.Create(bytes); Assert.True(BufferReaderExtensions.TryReadUntill(ref reader, out var bytesValue, 2)); var span = bytesValue.ToSpan(); Assert.Equal(0, span[0]); Assert.Equal(1, span[1]); Assert.True(BufferReaderExtensions.TryReadUntill(ref reader, out bytesValue, 5)); span = bytesValue.ToSpan(); Assert.Equal(3, span[0]); Assert.Equal(4, span[1]); Assert.True(BufferReaderExtensions.TryReadUntill(ref reader, out bytesValue, new byte[] { 8, 8 })); span = bytesValue.ToSpan(); Assert.Equal(6, span[0]); Assert.Equal(7, span[1]); Assert.True(BufferReaderExtensions.TryRead(ref reader, out int value, true)); Assert.Equal(BitConverter.ToInt32(new byte[] { 0, 1, 0, 2 }), value); Assert.True(BufferReaderExtensions.TryRead(ref reader, out value)); Assert.Equal(BitConverter.ToInt32(new byte[] { 4, 3, 2, 1 }), value); }