public void Parse_Clause_1_Goal_Arity3()
{
BinaryTree ast = PrologTerm("ali(X,Y,Z) :- samir.");
Assert.AreEqual(":-", ast.Name);
Assert.AreEqual("ali", ast.Left.Name);
Assert.AreEqual("samir", ast.Right.Name);
Assert.AreEqual(1, ast.Left.Arguments.Count);
BinaryTree args = (BinaryTree)ast.Left.Arguments[0];
Assert.AreEqual(",", args.Name);
Assert.AreEqual("X", args.Left.Name);
Assert.AreEqual(",", args.Right.Name);
BinaryTree rightArgs = (BinaryTree)args.Right;
Assert.AreEqual("Y", rightArgs.Left.Name);
Assert.AreEqual("Z", rightArgs.Right.Name);
}