Пример #1
0
        public void TestSetTabCount()
        {
            var testTokens = new List <Token>
            {
                new TokenPair(0, 143)
                {
                    Register = 0, ChildTo = 0
                },
                new TokenPair(20, 142)
                {
                    Register = 1, ChildTo = 0
                },
                new TokenPair(42, 141)
                {
                    Register = 2, ChildTo = 1
                },
                new TokenPair(107, 120)
                {
                    Register = 3, ChildTo = 2
                }
            };

            var testSubject = new NoFuture.Tokens.XDocFrame();
            var testResults = testSubject.SetTabCount(testTokens);

            Assert.IsNotNull(testResults);
            foreach (var t in testResults)
            {
                Console.WriteLine(string.Format("{0},{1},{2},{3},{4}", t.Start, t.End, t.Register, t.ChildTo, t.Tab));
            }
        }
Пример #2
0
        public void TestFindAllCharTokens()
        {
            var testInput   = @"open something named{ accessMod type name { someStatement; someOtherStatement; accessMod type name(someArg){someBody;} somefinalStatement; }}";
            var testSubject = new NoFuture.Tokens.XDocFrame();
            var testResults = testSubject.FindAllCharTokens(testInput, '{', '}');

            Console.WriteLine(string.Join(",", testResults.Item1));
            Console.WriteLine(string.Join(",", testResults.Item2));
        }
Пример #3
0
        public void TestFindTokenMatch()
        {
            var testArr0 = new List <int> {
                20, 42, 107
            };
            var testArr1 = new List <int> {
                117, 139, 140
            };
            var testSubject = new NoFuture.Tokens.XDocFrame();
            var testResults = testSubject.FindTokenMatch(testArr0[0], testArr0, testArr1);

            Assert.IsNotNull(testResults);
            Assert.AreNotEqual(0, testResults);
        }
Пример #4
0
        public void TestFindEnclosingTokens_Char()
        {
            var testInput   = @"open something named{ accessMod type name { someStatement; someOtherStatement; accessMod type name(someArg){someBody;} somefinalStatement; }}";
            var testSubject = new NoFuture.Tokens.XDocFrame();
            var testResults = testSubject.FindEnclosingTokens(testInput, '{', '}');

            Assert.IsNotNull(testResults);
            Assert.AreNotEqual(0, testResults.Count);
            Assert.AreEqual(3, testResults.Count);

            foreach (var t in testResults)
            {
                Console.WriteLine(string.Format("{0},{1}", t.Start, t.End));
            }
        }
Пример #5
0
        public void TestInterlaceTokens()
        {
            var testTokens = new List <NoFuture.Tokens.Token>
            {
                new TokenPair(0, 142),
                new TokenPair(20, 141),
                new TokenPair(42, 140),
                new TokenPair(107, 119)
            };
            var testSubject = new NoFuture.Tokens.XDocFrame();
            var testResults = testSubject.InterlaceTokens(testTokens);

            Assert.IsNotNull(testResults);
            foreach (var t in testResults)
            {
                Console.WriteLine(string.Format("{0},{1},{2},{3}", t.Start, t.End, t.Register, t.ChildTo));
            }
        }
Пример #6
0
        public void TestFindEnclosingTokens_Word()
        {
            var testWordStart = "begin";
            var testWordEnd   = "end";
            var testInput     =
                @"some statement; begin somekindOfEnclosure begin firstStatement; secondStatement; end anotherStatement; end more stuff";

            var testSubject = new NoFuture.Tokens.XDocFrame();
            var testResults = testSubject.FindEnclosingTokens(testInput, testWordStart, testWordEnd);

            Assert.IsNotNull(testResults);
            Assert.AreNotEqual(0, testResults.Count);


            foreach (var t in testResults)
            {
                Console.WriteLine(string.Format("{0},{1}", t.Start, t.End));
                Console.WriteLine(testInput.Substring(t.Start, testWordStart.Length));
                Console.WriteLine(testInput.Substring(t.End - testWordEnd.Length, testWordEnd.Length));
            }
        }
Пример #7
0
        public void TestAppendHeadToken()
        {
            var testTokens = new List <NoFuture.Tokens.Token>
            {
                new TokenPair(20, 141),
                new TokenPair(42, 140),
                new TokenPair(107, 118)
            };
            var testInput =
                @"open something named{ accessMod type name { someStatement; someOtherStatement; accessMod type name(someArg){someBody;} somefinalStatement; }}";
            var testSubject = new NoFuture.Tokens.XDocFrame();
            var testResults = testSubject.AppendHeadToken(testTokens, testInput);

            Assert.IsNotNull(testResults);
            Assert.AreNotEqual(0, testResults.Count);
            Assert.AreNotEqual(3, testResults.Count);

            foreach (var t in testResults)
            {
                Console.WriteLine(string.Format("{0},{1}", t.Start, t.End));
            }
        }