Skip to main content

Stream

Describes the possible expectations for Stream and BufferedStream.

Properties

You can verify, the properties of the Stream:

Stream subject = new MemoryStream();

await Expect.That(subject).IsReadable();
await Expect.That(subject).IsSeekable();
await Expect.That(subject).IsWritable();
await Expect.That(File.Open("read-only.txt", FileMode.OpenOrCreate, FileAccess.Read)).IsReadOnly()
.Because("the file was opened with Read access");
await Expect.That(File.Open("write-only.txt", FileMode.OpenOrCreate, FileAccess.Write)).IsWriteOnly()
.Because("the file was opened with Write access");

Length

You can verify, the length of the Stream:

Stream subject = new MemoryStream("foo"u8.ToArray());

await Expect.That(subject).HasLength().EqualTo(3);
await Expect.That(subject).HasLength().NotEqualTo(4);

await Expect.That(subject).HasLength().GreaterThan(2);
await Expect.That(subject).HasLength().GreaterThanOrEqualTo(3);
await Expect.That(subject).HasLength().LessThanOrEqualTo(3);
await Expect.That(subject).HasLength().LessThan(4);

Position

You can verify, the position of the Stream:

Stream subject = new MemoryStream("foo"u8.ToArray());
subject.Seek(2, SeekOrigin.Current);

await Expect.That(subject).HasPosition().EqualTo(2);
await Expect.That(subject).HasPosition().NotEqualTo(0);

await Expect.That(subject).HasPosition().GreaterThan(1);
await Expect.That(subject).HasPosition().GreaterThanOrEqualTo(2);
await Expect.That(subject).HasPosition().LessThanOrEqualTo(2);
await Expect.That(subject).HasPosition().LessThan(3);

Buffer size

You can verify, the buffer size of the BufferedStream:

BufferedStream subject = new(new MemoryStream("foo"u8.ToArray()), 2);

await Expect.That(subject).HasBufferSize().EqualTo(2);
await Expect.That(subject).HasBufferSize().NotEqualTo(3);

await Expect.That(subject).HasBufferSize().GreaterThan(1);
await Expect.That(subject).HasBufferSize().GreaterThanOrEqualTo(2);
await Expect.That(subject).HasBufferSize().LessThanOrEqualTo(2);
await Expect.That(subject).HasBufferSize().LessThan(3);