public void BufferedSourceExtensions_Read() { int srcBufSize = 32768; int testSampleSize = 68; int readBufSize = 1000; int readBufOffset = 512; var src = new BigBufferedSourceMock (long.MaxValue, srcBufSize, FillFunction); src.FillBuffer (); var skip = srcBufSize - testSampleSize; src.SkipBuffer (skip); var buf = new byte[readBufSize]; Assert.AreEqual (testSampleSize, BufferedSourceExtensions.Read (src, buf, readBufOffset, testSampleSize)); for (int i = 0; i < testSampleSize; i++) { Assert.AreEqual (FillFunction ((long)(skip + i)), buf[readBufOffset + i]); } src.TrySkip (long.MaxValue - (long)srcBufSize - 3); Assert.AreEqual (3, BufferedSourceExtensions.Read (src, buf, 0, buf.Length)); }
public void BufferedSourceExtensions_IsEmpty() { var src = new BigBufferedSourceMock (0, 1, FillFunction); src.FillBuffer (); Assert.IsTrue (BufferedSourceExtensions.IsEmpty (src)); src = new BigBufferedSourceMock (1, 1, FillFunction); src.FillBuffer (); Assert.IsFalse (BufferedSourceExtensions.IsEmpty (src)); src.SkipBuffer (1); Assert.IsTrue (BufferedSourceExtensions.IsEmpty (src)); src = new BigBufferedSourceMock (long.MaxValue, 32768, FillFunction); src.FillBuffer (); Assert.IsFalse (BufferedSourceExtensions.IsEmpty (src)); src.TrySkip (long.MaxValue - 1); src.FillBuffer (); Assert.IsFalse (BufferedSourceExtensions.IsEmpty (src)); src.SkipBuffer (1); Assert.IsTrue (BufferedSourceExtensions.IsEmpty (src)); }