Пример #1
0
        public void ReadingAtWithExplicitBuffer()
        {
            var buffer = new ConsoleInputBuffer();

            buffer.Insert("abcd");

            var outBuffer = new char[4];

            buffer.ReadAt(0, outBuffer, 0, 2);
            outBuffer[0].Should().Be('a');
            outBuffer[1].Should().Be('b');

            buffer.ReadAt(2, outBuffer, 0, 2);
            outBuffer[0].Should().Be('c');
            outBuffer[1].Should().Be('d');

            outBuffer[0] = 'x';
            buffer.ReadAt(0, outBuffer, 1, 1);
            outBuffer[0].Should().Be('x');
            outBuffer[1].Should().Be('a');

            buffer.Invoking(b => b.ReadAt(0, null, 0, 2)).Should().Throw <ArgumentNullException>();
            buffer.Invoking(b => b.ReadAt(2, outBuffer, 0, 4)).Should().Throw <ArgumentException>();
            buffer.Invoking(b => b.ReadAt(2, outBuffer, 3, 2)).Should().Throw <ArgumentException>();
        }
Пример #2
0
        public void ReadingAt()
        {
            var buffer = new ConsoleInputBuffer();

            buffer.Insert("abcd");

            buffer.ReadAt(0, 2).Should().Equal('a', 'b');
            buffer.ReadAt(2, 2).Should().Equal('c', 'd');

            buffer.Invoking(b => b.ReadAt(2, 4)).Should().Throw <ArgumentException>();
            buffer.Invoking(b => b.ReadAt(3, 2)).Should().Throw <ArgumentException>();
        }
Пример #3
0
        public void ReplaceWithTooLongString()
        {
            var buffer = new ConsoleInputBuffer();

            buffer.Insert("abcd");

            buffer.Invoking(b => b.Replace("xyzzy")).Should().Throw <ArgumentOutOfRangeException>();
        }
Пример #4
0
        public void ReplaceWithNullString()
        {
            var buffer = new ConsoleInputBuffer();

            buffer.Insert("abcd");

            buffer.Invoking(b => b.Replace(null)).Should().Throw <ArgumentNullException>();
        }
Пример #5
0
        public void ReplacingAtEnd()
        {
            var buffer = new ConsoleInputBuffer();

            buffer.Insert("abcd");
            buffer.MoveCursor(SeekOrigin.End, 0);

            buffer.Invoking(b => b.Replace('x')).Should().Throw <Exception>();
        }
Пример #6
0
        public void MovingCursorBogusly()
        {
            var buffer = new ConsoleInputBuffer();

            buffer.Insert("abcd");

            buffer.Invoking(b => b.MoveCursor((SeekOrigin)0x10, 1))
            .Should().Throw <ArgumentOutOfRangeException>();
        }
Пример #7
0
        public void Reading()
        {
            var buffer = new ConsoleInputBuffer();

            buffer.Insert("abcd");

            buffer.Read(0).Should().BeEmpty();
            buffer.Read(1).Should().Equal('a');
            buffer.Read(2).Should().Equal('a', 'b');
            buffer.Read(3).Should().Equal('a', 'b', 'c');
            buffer.Read(4).Should().Equal('a', 'b', 'c', 'd');
            buffer.Invoking(b => b.Read(5)).Should().Throw <ArgumentException>();
        }