示例#1
0
        public void PerformLeft()
        {
            var engine = new TextEngine(new List <string> ()
            {
                "foo", "bar"
            });

            engine.SetCursorPosition(new TextPosition(1, 0), true);
            engine.PerformLeft(false, false);
            Assert.AreEqual(new TextPosition(0, 3), engine.CurrentPosition);

            engine.SetCursorPosition(new TextPosition(0, 1), true);
            engine.PerformLeft(false, false);
            Assert.AreEqual(new TextPosition(0, 0), engine.CurrentPosition);

            engine.PerformLeft(false, false);
            Assert.AreEqual(new TextPosition(0, 0), engine.CurrentPosition);
        }
示例#2
0
        public void PerformEnter()
        {
            var engine = new TextEngine(new List <string> ()
            {
                "foo", "bar"
            });

            engine.SetCursorPosition(new TextPosition(1, 1), true);
            engine.PerformEnter();

            Assert.AreEqual(3, engine.LineCount);
            Assert.AreEqual(LinesToString(new string[] { "foo", "b", "ar" }),
                            engine.ToString());
            Assert.AreEqual(new TextPosition(2, 0), engine.CurrentPosition);
        }
示例#3
0
        public void DeleteSelection()
        {
            var engine = new TextEngine(new List <string> ()
            {
                "это тест", "это еще один тест"
            });

            engine.SetCursorPosition(new TextPosition(0, 2), true);
            engine.PerformDown(true);
            engine.PerformDelete();

            Assert.AreEqual(1, engine.LineCount);
            Assert.AreEqual(LinesToString(new string[] { "это еще один тест" }),
                            engine.ToString());
            Assert.AreEqual(new TextPosition(0, 2), engine.CurrentPosition);
        }
示例#4
0
        public void DeleteMultiLineSelection()
        {
            var engine = new TextEngine(new List <string> ()
            {
                "line 1", "line 2", "line 3"
            });

            engine.SetCursorPosition(new TextPosition(0, 2), true);
            engine.PerformDown(true);
            engine.PerformDown(true);
            engine.PerformDelete();

            Assert.AreEqual(1, engine.LineCount);
            Assert.AreEqual(LinesToString(new string[] { "line 3" }),
                            engine.ToString());
        }