Esempio n. 1
0
        public void ReplaceEntireString()
        {
            var buffer = new ConsoleInputBuffer();

            buffer.Insert("abcd");

            buffer.Replace("xyzw");
            buffer.Contents.Should().Be("xyzw");
        }
Esempio n. 2
0
        public void ReplaceOneChar()
        {
            var buffer = new ConsoleInputBuffer();

            buffer.Insert("abcd");
            buffer.MoveCursor(SeekOrigin.Current, 1).Should().BeTrue();
            buffer.Replace('x');
            buffer.Contents.Should().Be("axcd");
        }
Esempio n. 3
0
        public void ReplaceWithEmptyString()
        {
            var buffer = new ConsoleInputBuffer();

            buffer.Insert("abcd");

            buffer.Replace(string.Empty);
            buffer.Contents.Should().Be("abcd");
        }
Esempio n. 4
0
        public void ReplacePartOfString()
        {
            var buffer = new ConsoleInputBuffer();

            buffer.Insert("abcd");

            buffer.MoveCursor(SeekOrigin.Begin, 1);
            buffer.Replace("xy");
            buffer.Contents.Should().Be("axyd");
        }
Esempio n. 5
0
        public void ReplaceWithTooLongString()
        {
            var buffer = new ConsoleInputBuffer();

            buffer.Insert("abcd");

            Action replacement = () => buffer.Replace("xyzzy");

            replacement.ShouldThrow <ArgumentOutOfRangeException>();
        }
Esempio n. 6
0
        public void ReplaceWithNullString()
        {
            var buffer = new ConsoleInputBuffer();

            buffer.Insert("abcd");

            Action replacement = () => buffer.Replace(null);

            replacement.ShouldThrow <ArgumentNullException>();
        }
Esempio n. 7
0
        public void ReplacingAtEnd()
        {
            var buffer = new ConsoleInputBuffer();

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

            Action replacementAction = () => buffer.Replace('x');

            replacementAction.ShouldThrow <Exception>();
        }