コード例 #1
0
        public void DelayedHeaderWriteFlushWithData()
        {
            var ms = new MemoryStream();

            Assert.AreEqual(0, ms.Length);
            using (GZipOutputStream outStream = new GZipOutputStream(ms)
            {
                IsStreamOwner = false
            })
            {
                Assert.AreEqual(0, ms.Length);

                // #382 - test flushing the stream before writing to it.
                outStream.Flush();
                outStream.WriteByte(45);
            }

            ms.Seek(0, SeekOrigin.Begin);

            // Test that the gzip stream can be read
            var readStream = new MemoryStream();

            using (GZipInputStream inStream = new GZipInputStream(ms))
            {
                inStream.CopyTo(readStream);
            }

            // Check that the data was read
            byte[] data = readStream.ToArray();
            CollectionAssert.AreEqual(new byte[] { 45 }, data, "Decompressed data should match initial data");
        }
コード例 #2
0
        public void WriteAfterClose()
        {
            var memStream = new TrackedMemoryStream();
            var s         = new GZipOutputStream(memStream);

            s.Close();

            Assert.Throws <InvalidOperationException>(() => s.WriteByte(value: 7), "Write should fail");
        }
コード例 #3
0
 public void Serialize(Array3 <byte> blocks, Stream target)
 {
     using (GZipOutputStream s = new GZipOutputStream(target))
     {
         for (int i = 0; i < _length * _length * _length; i++)
         {
             s.WriteByte(blocks[i]);
         }
     }
 }
コード例 #4
0
        public void WriteAfterClose()
        {
            var memStream = new TrackedMemoryStream();
            var s         = new GZipOutputStream(memStream);

            s.Close();

            try {
                s.WriteByte(7);
                Assert.Fail("Write should fail");
            } catch {
            }
        }
コード例 #5
0
ファイル: GZipTests.cs プロジェクト: sillsdev/WorldPad
        public void WriteAfterFinish()
        {
            TrackedMemoryStream memStream = new TrackedMemoryStream();
            GZipOutputStream    s         = new GZipOutputStream(memStream);

            s.Finish();

            try
            {
                s.WriteByte(7);
                Assert.Fail("Write should fail");
            }
            catch
            {
            }
        }
コード例 #6
0
ファイル: GZipTests.cs プロジェクト: sillsdev/WorldPad
        public void DelayedHeaderWriteWithData()
        {
            MemoryStream ms = new MemoryStream();

            Assert.AreEqual(0, ms.Length);
            using (GZipOutputStream outStream = new GZipOutputStream(ms)) {
                Assert.AreEqual(0, ms.Length);
                outStream.WriteByte(45);

                // Should in fact contain header right now with
                // 1 byte in the compression pipeline
                Assert.AreEqual(10, ms.Length);
            }
            byte[] data = ms.ToArray();

            Assert.IsTrue(data.Length > 0);
        }
コード例 #7
0
        public void WriteAfterClose()
        {
            var memStream = new TrackedMemoryStream();
            var s         = new GZipOutputStream(memStream);

#if NET451
            s.Close();
#elif NETCOREAPP1_0
            s.Dispose();
#endif

            try
            {
                s.WriteByte(7);
                Assert.Fail("Write should fail");
            } catch {
            }
        }