Esempio n. 1
0
        public void ParserNumberTest()
        {
            INumberTerm nti       = new NumberTermImpl(12.5);
            INumberTerm resultado = AsSyntax.ParseNumber("12,5");

            Assert.AreEqual(nti.ToString(), resultado.ToString());
        }
Esempio n. 2
0
 [SetUp] // El @Before de Java
 public void SetUp()
 {
     vector    = new ITerm[3];
     vector[0] = new NumberTermImpl(-3);
     vector[1] = new VarTerm("Daniel");
     vector[2] = new Pred("hello(brother)[nice(brother)]");
 }
Esempio n. 3
0
        public void MinTestEvaluate()
        {
            Reasoner r = new Reasoner(new Agent(), new Circumstance(), new AgentArchitecture(), new Settings());

            ITerm[] args = new ITerm[2];
            args[0] = new NumberTermImpl();
            args[1] = new NumberTermImpl();

            double n0     = ((INumberTerm)args[0]).Solve();
            double n1     = ((INumberTerm)args[1]).Solve();
            double minAux = Math.Min(n0, n1);

            Assert.AreEqual(minAux, a.Evaluate(r, args));
            //hasta aquí funciona

            args[0] = new ListTermImpl();
            minAux  = double.MaxValue;
            foreach (ITerm item in (IListTerm)args[0])
            {
                if (item.IsNumeric())
                {
                    double n = ((INumberTerm)item).Solve();
                    if (n > minAux)
                    {
                        minAux = n;
                    }
                }
            }
            Assert.AreEqual(minAux, a.Evaluate(r, args));
        }
Esempio n. 4
0
        public void tanTestEvaluate()
        {
            Reasoner r = new Reasoner(new Agent(), new Circumstance(), new AgentArchitecture(), new Settings());

            ITerm[] args = new ITerm[1];
            args[0] = new NumberTermImpl();

            Assert.AreEqual(Math.Tan(((INumberTerm)args[0]).Solve()), a.Evaluate(r, args));
        }
Esempio n. 5
0
        public void eTestEvaluate()
        {
            Reasoner r = new Reasoner(new Agent(), new Circumstance(), new AgentArchitecture(), new Settings());

            ITerm[] args = new ITerm[1];
            args[0] = new NumberTermImpl();

            double result = a.Evaluate(r, args);

            Assert.AreEqual(Math.E, result);
        }
Esempio n. 6
0
        public void asinTestEvaluate()
        {
            Reasoner r = new Reasoner(new Agent(), new Circumstance(), new AgentArchitecture(), new Settings());

            ITerm[] args = new ITerm[1];
            args[0] = new NumberTermImpl();

            double aux    = Math.Asin(((INumberTerm)args[0]).Solve());
            double result = a.Evaluate(r, args);

            Assert.AreEqual(aux, result);
        }
Esempio n. 7
0
        public void SumTestEvaluate()
        {
            Reasoner r = new Reasoner(new Agent(), new Circumstance(), new AgentArchitecture(), new Settings());

            ITerm[] args = new ITerm[1];
            args[0] = new NumberTermImpl();

            double auxSum = 0;

            foreach (ITerm t in (IListTerm)args[0])
            {
                if (t.IsNumeric())
                {
                    auxSum += ((INumberTerm)t).Solve();
                }
            }
            Assert.AreEqual(auxSum, a.Evaluate(r, args));
        }
Esempio n. 8
0
        public void RandomTestEvaluate()
        {
            Reasoner r = new Reasoner(new Agent(), new Circumstance(), new AgentArchitecture(), new Settings());

            ITerm[] args = new ITerm[1];
            args[0] = new NumberTermImpl();

            Random rAux = new Random();
            double aux  = rAux.Next() * ((INumberTerm)args[0]).Solve();

            Assert.AreEqual(aux, a.Evaluate(r, args));

            //The test says that the result is wrong but it's only because
            //we're generating two random numbers and comparing them.
            args[0] = new StringTermImpl();
            aux     = rAux.Next();
            Assert.AreEqual(aux, a.Evaluate(r, args));
        }
Esempio n. 9
0
        public void AverageTestEvaluate()
        {
            Reasoner r = new Reasoner(new Agent(), new Circumstance(), new AgentArchitecture(), new Settings());

            ITerm[] args = new ITerm[1];
            args[0] = new NumberTermImpl();

            double sumAux = 0;
            int    nAux   = 0;

            foreach (ITerm t in (IListTerm)args[0])
            {
                if (t.IsNumeric())
                {
                    sumAux += ((INumberTerm)t).Solve();
                    nAux++;
                }
            }

            double result = a.Evaluate(r, args);

            Assert.AreEqual(sumAux / nAux, result);
        }
Esempio n. 10
0
        public override object Execute(Reasoner reasoner, Unifier un, ITerm[] args)
        {
            CheckArguments(args);
            ITerm l1 = args[0];
            ITerm l2 = args[1];

            INumberTerm size = null;

            if (l1.IsList())
            {
                IListTerm lt = (IListTerm)l1;
                size = new NumberTermImpl(lt.Size());
            }
            else if (l1.IsString())
            {
                IStringTerm st = (IStringTerm)l1;
                size = new NumberTermImpl(st.GetString().Length);
            }
            if (size != null)
            {
                return(un.Unifies(l2, size));
            }
            return(false);
        }
Esempio n. 11
0
 [SetUp] // El @Before de Java
 public void SetUp()
 {
     abs       = new Abs();
     vector    = new ITerm[1];
     vector[0] = new NumberTermImpl(-3);
 }