示例#1
0
        public void TestMoveLineUpAscending()
        {
            string value = "\n" +
                           "a\n" +
                           "cd\n" +
                           "fgh\n" +
                           "jklm";

            int index = 0;

            Assert.AreEqual(index, CStringUtils.MoveLineUp(value, index));

            // second line
            index = value.IndexOf('a');
            Assert.AreEqual(0, CStringUtils.MoveLineUp(value, index));

            index = value.IndexOf('a') + 1;
            Assert.AreEqual(0, CStringUtils.MoveLineUp(value, index));

            // third line
            index = value.IndexOf('c');
            Assert.AreEqual(value.IndexOf('a'), CStringUtils.MoveLineUp(value, index));

            index = value.IndexOf('d');
            Assert.AreEqual(value.IndexOf('a') + 1, CStringUtils.MoveLineUp(value, index));

            index = value.IndexOf('d') + 1;
            Assert.AreEqual(value.IndexOf('a') + 1, CStringUtils.MoveLineUp(value, index));

            // fourth line
            index = value.IndexOf('f');
            Assert.AreEqual(value.IndexOf('c'), CStringUtils.MoveLineUp(value, index));

            index = value.IndexOf('g');
            Assert.AreEqual(value.IndexOf('d'), CStringUtils.MoveLineUp(value, index));

            index = value.IndexOf('h');
            Assert.AreEqual(value.IndexOf('d') + 1, CStringUtils.MoveLineUp(value, index));

            index = value.IndexOf('h') + 1;
            Assert.AreEqual(value.IndexOf('d') + 1, CStringUtils.MoveLineUp(value, index));

            // fifth line
            index = value.IndexOf('j');
            Assert.AreEqual(value.IndexOf('f'), CStringUtils.MoveLineUp(value, index));

            index = value.IndexOf('k');
            Assert.AreEqual(value.IndexOf('g'), CStringUtils.MoveLineUp(value, index));

            index = value.IndexOf('l');
            Assert.AreEqual(value.IndexOf('h'), CStringUtils.MoveLineUp(value, index));

            index = value.IndexOf('m');
            Assert.AreEqual(value.IndexOf('h') + 1, CStringUtils.MoveLineUp(value, index));

            index = value.IndexOf('m') + 1;
            Assert.AreEqual(value.IndexOf('h') + 1, CStringUtils.MoveLineUp(value, index));
        }
示例#2
0
        public void TestMoveLineUpEmpty()
        {
            string value = "\n" +
                           "\n" +
                           "";

            // first line
            Assert.AreEqual(0, CStringUtils.MoveLineUp(value, 0));

            // second line
            Assert.AreEqual(0, CStringUtils.MoveLineUp(value, 1));

            // third line
            Assert.AreEqual(1, CStringUtils.MoveLineUp(value, 2));
        }
示例#3
0
        public void TestMoveLineUpDescending()
        {
            string value = "abcd\n" +
                           "fgh\n" +
                           "jk\n" +
                           "m\n" +
                           "\n" +
                           "";

            int index = value.IndexOf('a');

            // first line
            Assert.AreEqual(index, CStringUtils.MoveLineUp(value, index));

            index = value.IndexOf('b');
            Assert.AreEqual(index, CStringUtils.MoveLineUp(value, index));

            index = value.IndexOf('c');
            Assert.AreEqual(index, CStringUtils.MoveLineUp(value, index));

            index = value.IndexOf('d');
            Assert.AreEqual(index, CStringUtils.MoveLineUp(value, index));

            index = value.IndexOf('d') + 1;
            Assert.AreEqual(index, CStringUtils.MoveLineUp(value, index));

            // second line
            index = value.IndexOf('f');
            Assert.AreEqual(value.IndexOf('a'), CStringUtils.MoveLineUp(value, index));

            index = value.IndexOf('g');
            Assert.AreEqual(value.IndexOf('b'), CStringUtils.MoveLineUp(value, index));

            index = value.IndexOf('h');
            Assert.AreEqual(value.IndexOf('c'), CStringUtils.MoveLineUp(value, index));

            index = value.IndexOf('h') + 1;
            Assert.AreEqual(value.IndexOf('d'), CStringUtils.MoveLineUp(value, index));

            // third line
            index = value.IndexOf('j');
            Assert.AreEqual(value.IndexOf('f'), CStringUtils.MoveLineUp(value, index));

            index = value.IndexOf('k');
            Assert.AreEqual(value.IndexOf('g'), CStringUtils.MoveLineUp(value, index));

            index = value.IndexOf('k') + 1;
            Assert.AreEqual(value.IndexOf('h'), CStringUtils.MoveLineUp(value, index));

            // fourth line
            index = value.IndexOf('m');
            Assert.AreEqual(value.IndexOf('j'), CStringUtils.MoveLineUp(value, index));

            index = value.IndexOf('m') + 1;
            Assert.AreEqual(value.IndexOf('k'), CStringUtils.MoveLineUp(value, index));

            // fifth line
            index = value.LastIndexOf('\n');
            Assert.AreEqual(value.IndexOf('m'), CStringUtils.MoveLineUp(value, index));

            index = value.LastIndexOf('\n') + 1;
            Assert.AreEqual(value.LastIndexOf('\n'), CStringUtils.MoveLineUp(value, index));
        }