public void PredicateNameTest() { PrologCodeMethod prologCodeMethod = new PrologCodeMethod("Class1", "soo.dll", 1, "foo", "predicate"); string result = prologCodeMethod.PredicateName; Assert.AreEqual(result, "predicate"); }
public void AssemblyNameTest() { PrologCodeMethod prologCodeMethod = new PrologCodeMethod("Class1", "soo.dll", 1, "foo"); string result = prologCodeMethod.AssemblyName; Assert.AreEqual(result, "soo.dll"); }
public void TypeTest() { PrologCodeMethod prologCodeMethod = new PrologCodeMethod("Class1", "soo.dll", 1, "foo"); int result = prologCodeMethod.Type; Assert.AreEqual(result, 1); }
public void ClassTest() { PrologCodeMethod prologCodeMethod = new PrologCodeMethod("Class1", "soo.dll", 1, "foo"); string result = prologCodeMethod.Class; Assert.AreEqual(result, "Class1"); }
private void ProcessForeignMethod(PrologCodePredicate p) { // :- foreign(functor(+term,...),'Assembly','Class','MethodName'). PrologCodeMethod foreignMethod = new PrologCodeMethod(); PrologCodePredicate predicateFunctor = (PrologCodePredicate)p.Arguments[0]; // Add argument types foreignMethod.Arguments = GetForeignMethodArguments(predicateFunctor); foreignMethod.AssemblyName = GetAtomOrStringValue((PrologCodeTerm)p.Arguments[1]); foreignMethod.Class = GetAtomOrStringValue((PrologCodeTerm)p.Arguments[2]); foreignMethod.PredicateName = predicateFunctor.Name; foreignMethod.MethodName = predicateFunctor.Name.Replace("'", ""); if (p.Arguments.Count == 4) { foreignMethod.MethodName = GetAtomOrStringValue((PrologCodeTerm)p.Arguments[3]); } // Add the method _codeUnit.Methods.Add(foreignMethod); }