public void TestLetterDigitGroupFail() { LetterDigitGroupLexer l = new LetterDigitGroupLexer("1a"); Assert.Throws <LexerException>(() => { l.Parse(); }, "Пропускает 1a"); l = new LetterDigitGroupLexer("a111b"); Assert.Throws <LexerException>(() => { l.Parse(); }, "Пропускает a111b"); l = new LetterDigitGroupLexer("A_34b"); Assert.Throws <LexerException>(() => { l.Parse(); }, "Пропускает A_34b"); l = new LetterDigitGroupLexer(""); Assert.Throws <LexerException>(() => { l.Parse(); }, "Пропускает пустую строку"); l = new LetterDigitGroupLexer("11"); Assert.Throws <LexerException>(() => { l.Parse(); }, "Пропускает 11"); l = new LetterDigitGroupLexer("_A34"); Assert.Throws <LexerException>(() => { l.Parse(); }, "Пропускает _A34"); }
public void TestLetterDigitGroupParse() { LetterDigitGroupLexer l = new LetterDigitGroupLexer("aa12ab23"); Assert.IsTrue(l.Parse(), "Не пропускает aa12ab23"); Assert.AreEqual(l.ParseResult, "aa12ab23", "неправильно собран aa12ab23"); l = new LetterDigitGroupLexer("a1b2"); Assert.IsTrue(l.Parse(), "Не пропускает a1b2"); Assert.AreEqual(l.ParseResult, "a1b2", "неправильно собран a1b2"); l = new LetterDigitGroupLexer("aa"); Assert.IsTrue(l.Parse(), "Не пропускает aa"); Assert.AreEqual(l.ParseResult, "aa", "неправильно собран aa"); l = new LetterDigitGroupLexer("A11"); Assert.IsTrue(l.Parse(), "Не пропускает A11"); Assert.AreEqual(l.ParseResult, "A11", "неправильно собран A11"); l = new LetterDigitGroupLexer("ab33cd58e3n5ss32"); Assert.IsTrue(l.Parse(), "Не пропускает ab33cd58e3n5ss32"); Assert.AreEqual(l.ParseResult, "ab33cd58e3n5ss32", "неправильно собран ab33cd58e3n5ss32"); }