public void SanityTest() { // Arrange var bytes = _fixture.CreateMany<byte>().ToArray(); var offset = 1; var length = bytes.Length - 2; var subset = bytes.Skip(offset).Take(length); // Act using var ms = new MemoryStream(bytes); using var sub = new StreamSlice(ms, offset, length); // Assert Assert.Equal(length, sub.Length); Assert.Equal(offset, ms.Position); Assert.Equal(sub.ToArray(), subset); }
public void ReallyLongStream(int offset, int length) { // Arrange var bytes = new byte[1024 * 1024]; for (int i = 0; i < bytes.Length; i++) { bytes[i] = (byte)i; } var subset = bytes.Skip(offset).Take(length); // Act using var ms = new MemoryStream(bytes); using var sub = new StreamSlice(ms, offset, length); // Assert Assert.Equal(length, sub.Length); Assert.Equal(offset, ms.Position); Assert.Equal(0, sub.Position); Assert.Equal(sub.ToArray(), subset); }