public void TestGrammarWithConflicts4_DoesntHaveErrors()
 {
     var grammar = new ConflictResolutionTestGrammar4();
       var parser = new Parser(grammar);
       Assert.IsTrue(parser.Language.Errors.Count == 0);
 }
        public void TestGrammarWithConflicts4_CanParseMixedList()
        {
            var grammar = new ConflictResolutionTestGrammar4();
              var parser = new Parser(grammar);
              var sample = MixedListSample;
              var tree = parser.Parse(sample);
              Assert.IsNotNull(tree);
              Assert.IsFalse(tree.HasErrors());

              Assert.IsNotNull(tree.Root);
              var term = tree.Root.Term as NonTerminal;
              Assert.IsNotNull(term);
              Assert.AreEqual("StatementList", term.Name);

              Assert.AreEqual(3, tree.Root.ChildNodes.Count);
              var nodes = tree.Root.ChildNodes.Select(t => t.FirstChild).ToArray();
              Assert.AreEqual("propDef", nodes[0].Term.Name);
              Assert.AreEqual("fieldDef", nodes[1].Term.Name);
              Assert.AreEqual("methodDef", nodes[2].Term.Name);
        }