public void DoubleFooter() { TrackedMemoryStream memStream=new TrackedMemoryStream(); GZipOutputStream s=new GZipOutputStream(memStream); s.Finish(); Int64 length=memStream.Length; s.Close(); Assert.AreEqual(length, memStream.ToArray().Length); }
byte[] MakeLocalHeader(string asciiName, short versionToExtract, short flags, short method, int dostime, int crc, int compressedSize, int size) { using ( TrackedMemoryStream ms = new TrackedMemoryStream()) { ms.WriteByte((byte)'P'); ms.WriteByte((byte)'K'); ms.WriteByte(3); ms.WriteByte(4); ms.WriteLEShort(versionToExtract); ms.WriteLEShort(flags); ms.WriteLEShort(method); ms.WriteLEInt(dostime); ms.WriteLEInt(crc); ms.WriteLEInt(compressedSize); ms.WriteLEInt(size); byte[] rawName = Encoding.ASCII.GetBytes(asciiName); ms.WriteLEShort((short)rawName.Length); ms.WriteLEShort(0); ms.Write(rawName, 0, rawName.Length); return ms.ToArray(); } }