public void MustReadByteCorrectly()
{
var sut = new SubStream(stream.Object, 100, 200);
sut.Position = -100;
Assert.AreEqual(-1, sut.ReadByte());
sut.Position = 200;
Assert.AreEqual(-1, sut.ReadByte());
sut.Position = 25;
sut.ReadByte();
stream.Verify(s => s.Read(It.IsAny <byte[]>(), It.IsAny <int>(), It.IsAny <int>()), Times.Once);
}