public void TestMultipleWrites()
        {
            var encoding = Encoding.UTF8;

            CircularBufferStream stream = new CircularBufferStream(0x10000);
            var reader = new SafeLineReader(new StreamReader(stream, encoding));

            byte[] bytes = encoding.GetBytes(m_line1);
            stream.Write(bytes, 0, bytes.Length);


            bytes = encoding.GetBytes(m_line2);
            stream.Write(bytes, 0, bytes.Length);

            string[] lines = m_line2.Split('\n');

            Assert.AreEqual(m_line1.TrimEnd('\n'), reader.ReadLine());
            foreach (var line in lines.Take(lines.Length - 1))
            {
                var actual = reader.ReadLine();
                Assert.AreEqual(line.TrimEnd('\r'), actual);
            }


             //:tmi.twitch.tv 001 darkautumn :Welcome, GLHF!

        }
        public void TestFullRead()
        {
            var encoding = Encoding.UTF8;

            CircularBufferStream stream = new CircularBufferStream(0x10000);
            var reader = new SafeLineReader(new StreamReader(stream, encoding));

            byte[] bytes = encoding.GetBytes("one\ntwo\nthree\n");
            stream.Write(bytes, 0, bytes.Length);

            Assert.AreEqual("one", reader.ReadLine());
            Assert.AreEqual("two", reader.ReadLine());
            Assert.AreEqual("three", reader.ReadLine());
        }