public void T6() { var arr = new byte[] { 1, 2, 3, 4, 5 }; var s = new BufferSegmentReadingStream(); var ms = new MemoryStream(arr, 2, 3); s.BindBuffer(arr, 2, 3); Assert.AreEqual(3, ms.Length); Assert.AreEqual(3, s.Length); s.Seek(1, SeekOrigin.Current); ms.Seek(1, SeekOrigin.Current); Assert.AreEqual(1, ms.Position); Assert.AreEqual(4, ms.ReadByte()); Assert.AreEqual(1, s.Position); Assert.AreEqual(4, s.ReadByte()); s.Seek(-1, SeekOrigin.Current); ms.Seek(-1, SeekOrigin.Current); Assert.AreEqual(1, ms.Position); Assert.AreEqual(4, ms.ReadByte()); Assert.AreEqual(1, s.Position); Assert.AreEqual(4, s.ReadByte()); }
public void T4() { var arr = new byte[] { 1, 2, 3, 4, 5 }; var s = new BufferSegmentReadingStream(); var ms = new MemoryStream(arr, 2, 3); s.BindBuffer(arr, 2, 3); Aver.AreEqual(3, ms.Length); Aver.AreEqual(3, s.Length); s.Seek(-1, SeekOrigin.End); ms.Seek(-1, SeekOrigin.End); Aver.AreEqual(2, ms.Position); Aver.AreEqual(5, ms.ReadByte()); Aver.AreEqual(2, s.Position); Aver.AreEqual(5, s.ReadByte()); s.Seek(0, SeekOrigin.End); ms.Seek(0, SeekOrigin.End); Aver.AreEqual(3, ms.Position); Aver.AreEqual(-1, ms.ReadByte()); Aver.AreEqual(3, s.Position); Aver.AreEqual(-1, s.ReadByte()); }