public void LengthTest() { // static length test using (MemoryStream memstream = new MemoryStream(this.content)) using (OffsetStream offsetstream = new OffsetStream(memstream, this.offset)) { Assert.AreEqual(this.offset + this.content.Length, offsetstream.Length); } // dynamic length test using (MemoryStream memstream = new MemoryStream()) using (OffsetStream offsetstream = new OffsetStream(memstream, this.offset)) { Assert.AreEqual(0, memstream.Length); Assert.AreEqual(this.offset, offsetstream.Length); offsetstream.SetLength(200); Assert.AreEqual(200, offsetstream.Length); Assert.AreEqual(200 - this.offset, memstream.Length); Assert.Throws<ArgumentOutOfRangeException>(() => offsetstream.SetLength(50)); Assert.AreEqual(200, offsetstream.Length); Assert.AreEqual(200 - this.offset, memstream.Length); } }