Esempio n. 1
0
        public void TestRanges()
        {
            const string test   = "SomeEnum ::= INTEGER (8 |10 ..20| 31..60 )";
            Lexer        lexer  = new Lexer();
            StringReader reader = new StringReader(test);

            lexer.Parse(reader);
            string name = lexer.NextSymbol.ToString();

            lexer.NextSymbol.Expect(Symbol.Assign);
            lexer.NextSymbol.Expect(Symbol.Integer);

            IntegerType i = new IntegerType("module", "name", lexer);

            Assert.IsFalse(i.IsEnumeration);
            Assert.IsTrue(i.Contains(8));
            Assert.IsTrue(i.Contains(10));
            Assert.IsTrue(i.Contains(15));
            Assert.IsTrue(i.Contains(20));
            Assert.IsTrue(i.Contains(35));
            Assert.IsFalse(i.Contains(4));
            Assert.IsFalse(i.Contains(-9));
            Assert.IsFalse(i.Contains(25));
            Assert.IsFalse(i.Contains(61));
        }