コード例 #1
0
        private static bool _Run()
        {
            bool          result        = true;
            ICodeDocument document      = CodeDocument.Create();
            ICodeLine     codelineFirst = CodeLine.Create(document);

            document.AddBefore(codelineFirst); // codedocument = [(first)]
            result = result && (document.Cursor == codelineFirst);

            ICodeLine codelineAfter = CodeLine.Create(document);

            document.AddAfter(codelineAfter);  // codedocument = (first)[(after)]
            result = result && (document.Cursor == codelineAfter);

            ICodeLine codelineBefore = CodeLine.Create(document);

            document.AddBefore(codelineBefore); // codedocument = (first)[(before)](after)
            result = result && (document.Cursor == codelineBefore);

            document.MoveCursorPrev(); // codedocument = [(first)](before)(after)
            result = result && (document.Cursor == codelineFirst);
            document.MoveCursorNext(); // codedocument = (first)[(before)](after)
            result = result && (document.Cursor == codelineBefore);
            document.MoveCursorNext(); // codedocument = (first)(before)[(after)]
            result = result && (document.Cursor == codelineAfter);

            // Now test saturation
            foreach (int i in F.range(0, 6))
            {
                document.MoveCursorPrev();
            }
            result = result && (document.Cursor == codelineFirst);
            foreach (int i in F.range(0, 6))
            {
                document.MoveCursorNext();
            }
            result = result && (document.Cursor == codelineAfter);


            return(result);
        }
コード例 #2
0
        private static bool _Run()
        {
            bool          result   = true;
            ICodeDocument document = CodeDocument.Create();
            ICodeLine     codeline = CodeLine.Create(document);

            document.AddBefore(codeline);

            result = result && (document.Cursor == codeline);

            IToken tokenFirst = Token.Create(Location.Create("filename", 0, 0, 10), "first", TokenKind.LiteralString);

            codeline.AddBefore(tokenFirst);  // codeline = [(first)]
            result = result && (codeline.Cursor == tokenFirst);
            IToken tokenAfter = Token.Create(Location.Create("filename", 0, 0, 10), "after", TokenKind.LiteralInteger);

            codeline.AddAfter(tokenAfter);                      // codeline = (first)[(after)]
            result = result && (codeline.Cursor == tokenAfter); // we set cursor to added item

            IToken tokenBefore = Token.Create(Location.Create("filename", 0, 0, 10), "before", TokenKind.LiteralFloat);

            codeline.AddBefore(tokenBefore); // codeline = (first)[(before)](after)
            result = result && (codeline.Cursor == tokenBefore);

            codeline.MoveCursorPrev(); // codeline = [(first)](before)(aft
            result = result && (codeline.Cursor == tokenFirst);
            codeline.MoveCursorNext(); // codeline - (first)[(before)](after)
            result = result && (codeline.Cursor == tokenBefore);
            codeline.MoveCursorNext(); // codeline = (first)(before)[(after)]
            result = result && (codeline.Cursor == tokenAfter);

            // now test saturation
            foreach (int i in F.range(0, 6))
            {
                codeline.MoveCursorPrev();
            }
            result = result && (codeline.Cursor == tokenFirst);
            foreach (int i in F.range(0, 6))
            {
                codeline.MoveCursorNext();
            }
            result = result && (codeline.Cursor == tokenAfter);
            return(result);
        }