public void TestCircularReadStream()
{
const int len = 100;
var stream = new MemoryStream();
for(int i = 0; i < len; i++)
{
stream.WriteByte((byte)i);
}
stream.Seek(0, SeekOrigin.Begin);
var binaryReader = new BinaryReader(stream);
for(int i = 0; i < len * 3; i++)
{
var b = RetryHelper.Instance
.Try(() => binaryReader.ReadByte())
.WithTryInterval(0)
.OnFailure(t => stream.Seek(0, SeekOrigin.Begin))
.UntilNoException<EndOfStreamException>();
Console.Write("{0} ", b);
}
}