using System; using NUnit.Framework; using GeneratedLexer; namespace TestGeneratedLexer { [TestFixture] public class GeneratedLexerTests { [Test] public void TestIdCount() { LexerAddon lexer = new LexerAddon(@"id1 id2 id3 id4 id5 "); lexer.Lex(); Assert.AreEqual(5, lexer.idCount); } [Test] 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); } [Test] 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); } [Test] [Ignore("This test is disabled")] public void TestString() { LexerAddon lexer = new LexerAddon(@"3 389 3 'ssfsf ' "); lexer.Lex(); // TODO: checks in this test } [Test] [Ignore("This test is disabled")] 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); } [Test] [Ignore("This test is disabled")] 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); } [Test] [Ignore("This test is disabled")] 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); } } }