public void TestRevert()
        {
            const string s = "world";

            using (var reader = new StackBufferedTextReader(new StringReader(s)))
            {
                reader.Push(' ');
                reader.Push("hello");
                Assert.That(reader.ReadToEnd(), Is.EqualTo("hello world"));
            }
        }
        public void TestReadLine([Values(EndOfLine.CR, EndOfLine.CRLF, EndOfLine.LF)] EndOfLine eol)
        {
            var s = string.Format("hello{0}{0}world{0}", eol.AsNewline());

            using (var reader = new StackBufferedTextReader(new StringReader(s)))
            {
                Assert.That(reader.ReadLine(), Is.EqualTo("hello"));
                Assert.That(reader.ReadLine(), Is.EqualTo(""));
                reader.Push("good-bye ");
                Assert.That(reader.ReadLine(), Is.EqualTo("good-bye world"));
                Assert.That(reader.ReadLine(), Is.Null);
            }
        }