Пример #1
0
        public void FinishedTest()
        {
            var buffer = new CyclicBuffer <char>(10);

            Assert.IsFalse(buffer.Finished);
            buffer.Write('o');
            buffer.Write('l');
            buffer.Write('a');
            buffer.Write('k');
            buffer.Write('e');
            buffer.Write('a');
            buffer.Write('s');
            buffer.Dispose();
            Assert.IsTrue(buffer.Finished);
            buffer.Write('e');
            var  builder = new StringBuilder();
            char read;

            do
            {
                read = buffer.Read();
                builder.Append(read);
            } while (read != default(char));
            Assert.AreEqual(builder.ToString(), "olakeas");
        }
Пример #2
0
        public void HasBack()
        {
            var buffer  = new CyclicBuffer <char>(8);
            var builder = new StringBuilder();

            buffer.Write('a');
            buffer.Write('b');
            buffer.Write('c');
            buffer.Write('d');
            buffer.Write('e');
            char read;

            buffer.Read();
            Assert.IsTrue(buffer.HasFront, "NO HasFront");
            Assert.IsTrue(buffer.HasBack);

            buffer.Read();
            Assert.IsTrue(buffer.HasFront, "NO HasFront");
            Assert.IsTrue(buffer.HasBack);

            buffer.Read();
            Assert.IsTrue(buffer.HasFront, "NO HasFront");
            Assert.IsTrue(buffer.HasBack);

            buffer.Read();
            Assert.IsFalse(buffer.HasFront, "NO HasFront");
            Assert.IsTrue(buffer.HasBack);

            buffer.ReadBack();
            Assert.IsTrue(buffer.HasFront, "NO HasFront");
            Assert.IsTrue(buffer.HasBack);

            read = buffer.ReadBack();
            Assert.IsTrue(buffer.HasFront, "NO HasFront");
            Assert.IsTrue(buffer.HasBack);
            builder.Append(read);
            Assert.AreEqual(builder.ToString(), "c");

            read = buffer.ReadBack();
            Assert.IsTrue(buffer.HasFront, "NO HasFront");
            Assert.IsTrue(buffer.HasBack);
            builder.Append(read);
            Assert.AreEqual(builder.ToString(), "cb");


            read = buffer.ReadBack();
            Assert.IsTrue(buffer.HasFront, "NO HasFront");
            Assert.IsFalse(buffer.HasBack, "No HasBack");
            builder.Append(read);
            Assert.AreEqual(builder.ToString(), "cba");


            buffer.Write('f');

            read = buffer.Read();
            //Assert.IsTrue(buffer.HasFront, "NO HasFront");
            //Assert.IsFalse(buffer.HasBack, "No HasBack");
            builder.Append(read);
            Assert.AreEqual(builder.ToString(), "cbaa");
            buffer.Read();
            buffer.Read();
            buffer.Read();
            buffer.Read();
            read = buffer.Read();
            Assert.IsTrue(buffer.HasFront, "NO HasFront");
            Assert.IsFalse(buffer.HasBack, "No HasBack");
            builder.Append(read);
            Assert.AreEqual(builder.ToString(), "cbaaf");

            buffer.Write('g');
            buffer.Write('h');
            buffer.Write('i');
            buffer.Write('j');
            buffer.Write('k');
            buffer.Read();
            buffer.Write('l');
        }