public void Reset()
        {
            const string s             = "The quick brown fox jumped over the lazy dog.";
            string       expectedValue = s.Substring(4);
            string       observedValue;
            long         observedBufferPosition;
            byte         observedByte;

            using (var memoryStream = new MemoryStream())
            {
                using (var writer = new ExtendedBinaryWriter(memoryStream, Encoding.UTF8, true))
                {
                    writer.Write(Encoding.ASCII.GetBytes(s));
                }

                memoryStream.Position = 0;

                using (var reader = new BufferedBinaryReader(memoryStream))
                {
                    reader.ReadInt32();
                    observedBufferPosition = reader.BufferPosition;

                    reader.BufferPosition = 2;
                    observedByte          = reader.ReadByte();

                    memoryStream.Position = 4;
                    reader.Reset();

                    var bytes = reader.ReadBytes(s.Length - 4);
                    observedValue = Encoding.ASCII.GetString(bytes);
                }
            }

            Assert.Equal(expectedValue, observedValue);
            Assert.Equal((byte)'e', observedByte);
            Assert.Equal(4, observedBufferPosition);
        }