Пример #1
0
        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");
        }
Пример #2
0
        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");
        }