public void Parse_Fact_with_Atom_Arg()
{
// Try to parse 'predicate.'
Write("factnoargs.txt", "predicate(ali).");
StreamReader sr = new StreamReader("C:\\factnoargs.txt");
PrologCodeParser parser = new PrologCodeParser();
parser.Scanner = new PrologScanner(sr);
BinaryTree ast = parser.Term(1200);
sr.Close();
// Expect: BinaryTree("predicate", null, null, null);
Assert.AreEqual("predicate", ast.Name);
Assert.IsNull(ast.Left);
Assert.IsNull(ast.Right);
ArrayList args = new ArrayList();
ast.Flatten((BinaryTree)ast.Arguments[0], ref args);
Assert.AreEqual(1, args.Count);
}