public void InputStreamOwnership() { TrackedMemoryStream memStream = new TrackedMemoryStream(); LzwInputStream s = new LzwInputStream(memStream); Assert.IsFalse(memStream.IsClosed, "Shouldnt be closed initially"); Assert.IsFalse(memStream.IsDisposed, "Shouldnt be disposed initially"); s.Close(); Assert.IsTrue(memStream.IsClosed, "Should be closed after parent owner close"); Assert.IsTrue(memStream.IsDisposed, "Should be disposed after parent owner close"); memStream = new TrackedMemoryStream(); s = new LzwInputStream(memStream); Assert.IsFalse(memStream.IsClosed, "Shouldnt be closed initially"); Assert.IsFalse(memStream.IsDisposed, "Shouldnt be disposed initially"); s.IsStreamOwner = false; s.Close(); Assert.IsFalse(memStream.IsClosed, "Should not be closed after parent owner close"); Assert.IsFalse(memStream.IsDisposed, "Should not be disposed after parent owner close"); }
public void ZeroLengthInputStream() { LzwInputStream lis = new LzwInputStream(new MemoryStream()); bool exception = false; try { lis.ReadByte(); } catch { exception = true; } Assert.IsTrue(exception, "reading from an empty stream should cause an exception"); }