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");
        }
Пример #5
0
        public void TypeTest()
        {
            PrologCodeMethod prologCodeMethod = new PrologCodeMethod("Class1", "soo.dll", 1, "foo");

            int result = prologCodeMethod.Type;

            Assert.AreEqual(result, 1);
        }
Пример #6
0
        public void PredicateNameTest()
        {
            PrologCodeMethod prologCodeMethod = new PrologCodeMethod("Class1", "soo.dll", 1, "foo", "predicate");

            string result = prologCodeMethod.PredicateName;

            Assert.AreEqual(result, "predicate");
        }
Пример #7
0
        public void ClassTest()
        {
            PrologCodeMethod prologCodeMethod = new PrologCodeMethod("Class1", "soo.dll", 1, "foo");

            string result = prologCodeMethod.Class;

            Assert.AreEqual(result, "Class1");
        }
Пример #8
0
        public void AssemblyNameTest()
        {
            PrologCodeMethod prologCodeMethod = new PrologCodeMethod("Class1", "soo.dll", 1, "foo");

            string result = prologCodeMethod.AssemblyName;

            Assert.AreEqual(result, "soo.dll");
        }
        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);
        }