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);
}
}