public void ParserNumberTest() { INumberTerm nti = new NumberTermImpl(12.5); INumberTerm resultado = AsSyntax.ParseNumber("12,5"); Assert.AreEqual(nti.ToString(), resultado.ToString()); }
[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)]"); }
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)); }
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)); }
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); }
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); }
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)); }
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)); }
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); }
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); }
[SetUp] // El @Before de Java public void SetUp() { abs = new Abs(); vector = new ITerm[1]; vector[0] = new NumberTermImpl(-3); }