public void Parse_Fact_with_Mixed_Args()
{
BinaryTree ast = PrologTerm("predicate(ali,X,s(X)).");
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(3, args.Count);
}