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); }