示例#1
0
        public void TestIdCount()
        {
            LexerAddon lexer = new LexerAddon(@"id1 id2 id3
                                                  id4 id5  ");

            lexer.Lex();
            Assert.AreEqual(5, lexer.idCount);
        }
示例#2
0
        public void TestString()
        {
            LexerAddon lexer = new LexerAddon(@"3 389 3 'ssfsf ' ");

            lexer.Lex();

            // TODO: checks in this test
        }
示例#3
0
        public void TestNumbers()
        {
            LexerAddon lexer = new LexerAddon(@"i22d1 5.6 i 32 id3
                                                  Md4 8.9 inNd5 1  42 ");

            lexer.Lex();

            Assert.AreEqual(75, lexer.sumInt);
            Assert.AreEqual(14.5, lexer.sumDouble, 0.001);
        }
示例#4
0
        public void TestMultiLineCmt()
        {
            LexerAddon lexer = new LexerAddon(@"i22d1 5.6  { i 32 id3
                                                  Md4 2.3 2 33} 8.9 inNd5 1  42 ");

            lexer.Lex();

            Assert.AreEqual(2, lexer.idCount);
            Assert.AreEqual(43, lexer.sumInt);
            Assert.AreEqual(14.5, lexer.sumDouble, 0.001);
        }
示例#5
0
        public void TestSingleLineCmt()
        {
            LexerAddon lexer = new LexerAddon(@"i22d1 5.6  // i 32 id3
                                                  Md4 8.9 inNd5 1  42 ");

            lexer.Lex();

            Assert.AreEqual(3, lexer.idCount);
            Assert.AreEqual(43, lexer.sumInt);
            Assert.AreEqual(14.5, lexer.sumDouble, 0.001);
        }
示例#6
0
        public void TestString()
        {
            LexerAddon lexer = new LexerAddon(@"i22d1 3 3 'ssfsf 8.5 389 inNd5' ");

            lexer.Lex();

            // TODO: checks in this test
            Assert.AreEqual(0.0, lexer.sumDouble, 0.001);
            Assert.AreEqual(6, lexer.sumInt);
            Assert.AreEqual(1, lexer.idCount);
        }
示例#7
0
        public void TestIdInfo()
        {
            LexerAddon lexer = new LexerAddon(@"i22d1 i id3
                                                  Md4 inNd5  ");

            lexer.Lex();
            Assert.AreEqual(5, lexer.idCount);
            Assert.AreEqual(5, lexer.maxIdLength);
            Assert.AreEqual(1, lexer.minIdLength);
            Assert.AreEqual(3.4, lexer.avgIdLength, 0.001);
        }
示例#8
0
        public void TestMultiLineCmtIds()
        {
            LexerAddon lexer = new LexerAddon(@"i22d1 5.6  { i 32 id3
                                                  Md4  tgg begin ide2
                                                   end ids 2.3 2 33} 8.9 inNd5 1  42 ");

            lexer.Lex();

            Assert.AreEqual(6, lexer.idsInComment.Count);
            Assert.Contains("i", lexer.idsInComment);
            Assert.Contains("id3", lexer.idsInComment);
            Assert.Contains("Md4", lexer.idsInComment);
            Assert.Contains("tgg", lexer.idsInComment);
            Assert.Contains("ide2", lexer.idsInComment);
            Assert.Contains("ids", lexer.idsInComment);
        }