示例#1
0
        public void ShouldConvertToStringWithBullet()
        {
            ZeroOrMore predicate;
            Sequence   sequence;
            Terminal   terminal;

            terminal       = new Terminal('a');
            predicate      = new ZeroOrMore();
            predicate.Item = terminal;

            Assert.AreEqual("•a*", predicate.ToString(terminal));

            sequence = new Sequence();
            sequence.Items.Add(new Terminal('a'));
            sequence.Items.Add(terminal);
            sequence.Items.Add(new Terminal('a'));
            predicate      = new ZeroOrMore();
            predicate.Item = sequence;
            Assert.AreEqual("(a•aa)*", predicate.ToString(terminal));
        }
示例#2
0
        public void ShouldConvertToStringWithBullet()
        {
            ZeroOrMore predicate;
            Sequence   sequence;
            Terminal   terminal;

            terminal       = new Terminal(new Token("C", "a"));
            predicate      = new ZeroOrMore();
            predicate.Item = terminal;

            Assert.AreEqual("•<C,a>*", predicate.ToString(terminal));

            sequence = new Sequence();
            sequence.Items.Add(new Terminal(new Token("C", "a")));
            sequence.Items.Add(terminal);
            sequence.Items.Add(new Terminal(new Token("C", "a")));
            predicate      = new ZeroOrMore();
            predicate.Item = sequence;
            Assert.AreEqual("(<C,a>•<C,a><C,a>)*", predicate.ToString(terminal));
        }
示例#3
0
        public void ShouldConvertToGrammarString()
        {
            var expr = new ZeroOrMore(new LiteralTerminal("a"));

            Assert.Equal("'a'*", expr.ToString());
        }