Ejemplo n.º 1
0
        public void TestGetLineStartIndexOf()
        {
            string text =
                "foo\n" +
                "bar\r\n" +
                "baz";

            Assert.AreEqual(0, StringLineUtil.GetLineStartCharacterIndexOf(text, 0));
            Assert.AreEqual(4, StringLineUtil.GetLineStartCharacterIndexOf(text, 1));
            Assert.AreEqual(9, StringLineUtil.GetLineStartCharacterIndexOf(text, 2));

            // いきなり改行
            text =
                "\r\n" +
                "a";
            Assert.AreEqual(0, StringLineUtil.GetLineStartCharacterIndexOf(text, 0));
            Assert.AreEqual(2, StringLineUtil.GetLineStartCharacterIndexOf(text, 1));

            // 改行続き
            text =
                "\r\n" +
                "\r\n" +
                "a";
            Assert.AreEqual(0, StringLineUtil.GetLineStartCharacterIndexOf(text, 0));
            Assert.AreEqual(2, StringLineUtil.GetLineStartCharacterIndexOf(text, 1));
            Assert.AreEqual(4, StringLineUtil.GetLineStartCharacterIndexOf(text, 2));
        }
Ejemplo n.º 2
0
        public void TestGetLineCount()
        {
            string text =
                "foo\n" +
                "bar\r\n" +
                "baz";

            Assert.AreEqual(3, StringLineUtil.GetLineCount(text));

            text =
                "foo\n" +
                "bar\r\n" +
                "baz\n";
            Assert.AreEqual(4, StringLineUtil.GetLineCount(text));

            //// いきなり改行
            text =
                "\r\n" +
                "a";
            Assert.AreEqual(2, StringLineUtil.GetLineCount(text));

            //// 改行続き
            text =
                "\r\n" +
                "\r\n" +
                "a";
            Assert.AreEqual(3, StringLineUtil.GetLineCount(text));
        }
Ejemplo n.º 3
0
        public void TestGetColumnIndexOf()
        {
            string text =
                "foo\n" +
                "bar\r\n" +
                "baz";

            int[] expected = new int[] { 0, 1, 2, 3, 0, 1, 2, 3, 4, 0, 1, 2 };
            for (int i = 0; i < text.Length; ++i)
            {
                Assert.AreEqual(expected[i], StringLineUtil.GetColumnIndexOf(text, i));
            }

            // いきなり改行
            text =
                "\r\n" +
                "a";
            Assert.AreEqual(0, StringLineUtil.GetColumnIndexOf(text, 0));
            Assert.AreEqual(1, StringLineUtil.GetColumnIndexOf(text, 1));
            Assert.AreEqual(0, StringLineUtil.GetColumnIndexOf(text, 2));

            // 改行続き
            text =
                "\r\n" +
                "\r\n" +
                "a";
            Assert.AreEqual(0, StringLineUtil.GetColumnIndexOf(text, 0));
            Assert.AreEqual(1, StringLineUtil.GetColumnIndexOf(text, 1));
            Assert.AreEqual(0, StringLineUtil.GetColumnIndexOf(text, 2));
            Assert.AreEqual(1, StringLineUtil.GetColumnIndexOf(text, 3));
            Assert.AreEqual(0, StringLineUtil.GetColumnIndexOf(text, 4));
        }
Ejemplo n.º 4
0
        public void TestGetLineEndIndexOf()
        {
            string text =
                "foo\n" +
                "bar\r\n" +
                "baz";

            Assert.AreEqual(3, StringLineUtil.GetLineEndCharacterIndexOf(text, 0));
            Assert.AreEqual(8, StringLineUtil.GetLineEndCharacterIndexOf(text, 1));
            Assert.AreEqual(12, StringLineUtil.GetLineEndCharacterIndexOf(text, 2));

            //// いきなり改行
            text =
                "\r\n" +
                "a";
            Assert.AreEqual(1, StringLineUtil.GetLineEndCharacterIndexOf(text, 0));
            Assert.AreEqual(3, StringLineUtil.GetLineEndCharacterIndexOf(text, 1));

            //// 改行続き
            text =
                "\r\n" +
                "\r\n" +
                "a";
            Assert.AreEqual(1, StringLineUtil.GetLineEndCharacterIndexOf(text, 0));
            Assert.AreEqual(3, StringLineUtil.GetLineEndCharacterIndexOf(text, 1));
            Assert.AreEqual(5, StringLineUtil.GetLineEndCharacterIndexOf(text, 2));
        }
Ejemplo n.º 5
0
        public void TestGetColumnCount()
        {
            string text =
                "foo\n" +
                "bar\r\n" +
                "baz";

            Assert.AreEqual(4, StringLineUtil.GetColumnCount(text, 0));
            Assert.AreEqual(5, StringLineUtil.GetColumnCount(text, 1));
            Assert.AreEqual(4, StringLineUtil.GetColumnCount(text, 2));
        }
Ejemplo n.º 6
0
        public static int GetLineEndFirstCharacterIndexOf(string text, int lineIndex)
        {
            int lineEndIndex = GetLineEndCharacterIndexOf(text, lineIndex);

            if ((StringLineUtil.GetLineEndKind(text, lineEndIndex) & StringLineUtil.LineEndKinds.SecondOfDoubleByte) ==
                StringLineUtil.LineEndKinds.SecondOfDoubleByte
                )
            {
                --lineEndIndex;
            }
            return(lineEndIndex);
        }
Ejemplo n.º 7
0
        public void TestSplitLines()
        {
            string text =
                "foo\n" +
                "bar\r\n" +
                "baz";

            string[] ret = StringLineUtil.SplitLines(text);
            Assert.AreEqual(3, ret.Length);
            Assert.AreEqual("foo\n", ret[0]);
            Assert.AreEqual("bar\r\n", ret[1]);
            Assert.AreEqual("baz\0", ret[2]);
        }
Ejemplo n.º 8
0
        public void TestGetIndexOf()
        {
            string text =
                "foo\n" +
                "bar\r\n" +
                "baz";

            Assert.AreEqual(0, StringLineUtil.GetCharacterIndexOf(text, 0, 0));
            Assert.AreEqual(3, StringLineUtil.GetCharacterIndexOf(text, 0, 3));
            Assert.AreEqual(4, StringLineUtil.GetCharacterIndexOf(text, 1, 0));
            Assert.AreEqual(8, StringLineUtil.GetCharacterIndexOf(text, 1, 4));
            Assert.AreEqual(9, StringLineUtil.GetCharacterIndexOf(text, 2, 0));
        }