예제 #1
0
        void CheckLines()
        {
            string text       = document.Text;
            int    lineNumber = 1;
            int    lineStart  = 0;

            for (int i = 0; i < text.Length; i++)
            {
                char c = text[i];
                if (c == '\r' && i + 1 < text.Length && text[i + 1] == '\n')
                {
                    DocumentLine line = document.GetLineByNumber(lineNumber);
                    Assert.AreEqual(lineNumber, line.LineNumber);
                    Assert.AreEqual(2, line.DelimiterLength);
                    Assert.AreEqual(lineStart, line.Offset);
                    Assert.AreEqual(i - lineStart, line.Length);
                    i++;                     // consume \n
                    lineNumber++;
                    lineStart = i + 1;
                }
                else if (c == '\r' || c == '\n')
                {
                    DocumentLine line = document.GetLineByNumber(lineNumber);
                    Assert.AreEqual(lineNumber, line.LineNumber);
                    Assert.AreEqual(1, line.DelimiterLength);
                    Assert.AreEqual(lineStart, line.Offset);
                    Assert.AreEqual(i - lineStart, line.Length);
                    lineNumber++;
                    lineStart = i + 1;
                }
            }
            Assert.AreEqual(lineNumber, document.LineCount);
        }
예제 #2
0
 public void TestHeightChanged()
 {
     heightTree.SetHeight(document.GetLineByNumber(4), 100);
     CheckHeights();
 }
예제 #3
0
        public void CheckGetLineInEmptyDocument()
        {
            Assert.AreEqual(1, document.Lines.Count);
            List <DocumentLine> lines = new List <DocumentLine>(document.Lines);

            Assert.AreEqual(1, lines.Count);
            DocumentLine line = document.Lines[0];

            Assert.AreSame(line, lines[0]);
            Assert.AreSame(line, document.GetLineByNumber(1));
            Assert.AreSame(line, document.GetLineByOffset(0));
        }
예제 #4
0
        CollapsedLineSection SimpleCheck(int from, int to)
        {
            CollapsedLineSection sec1 = heightTree.CollapseText(document.GetLineByNumber(from), document.GetLineByNumber(to));

            for (int i = 1; i < from; i++)
            {
                Assert.IsFalse(heightTree.GetIsCollapsed(i));
            }
            for (int i = from; i <= to; i++)
            {
                Assert.IsTrue(heightTree.GetIsCollapsed(i));
            }
            for (int i = to + 1; i <= 10; i++)
            {
                Assert.IsFalse(heightTree.GetIsCollapsed(i));
            }
            CheckHeights();
            return(sec1);
        }