示例#1
0
        public void EndOfFile()
        {
            using (var ms = new MemoryStream())
            {
                var writeBuffer = ByteUtilities.GetRandomBytes(100);
                var readBuffer  = new byte[60];

                using (var bgzipStream = new BlockGZipStream(ms, CompressionMode.Compress, true))
                {
                    bgzipStream.Write(writeBuffer, 0, writeBuffer.Length);
                }

                ms.Position = 0;

                using (var bgzipStream = new BlockGZipStream(ms, CompressionMode.Decompress))
                {
                    int numBytesRead = bgzipStream.Read(readBuffer, 0, 0);
                    Assert.Equal(0, numBytesRead);

                    numBytesRead = bgzipStream.Read(readBuffer, 0, readBuffer.Length);
                    Assert.Equal(readBuffer.Length, numBytesRead);

                    numBytesRead = bgzipStream.Read(readBuffer, 0, readBuffer.Length);
                    Assert.Equal(writeBuffer.Length - readBuffer.Length, numBytesRead);

                    numBytesRead = bgzipStream.Read(readBuffer, 0, readBuffer.Length);
                    Assert.Equal(0, numBytesRead);
                }
            }
        }