public void DivideTwoDoubles() { DivideExpression expr = new DivideExpression(new ConstantExpression(2.5), new ConstantExpression(3.7)); Assert.AreEqual(2.5 / 3.7, expr.Evaluate(null)); Assert.AreSame(TypeInfo.Double, expr.TypeInfo); }
public void DivideIntegerByDouble() { DivideExpression expr = new DivideExpression(new ConstantExpression(2), new ConstantExpression(2.5)); Assert.AreEqual(2 / 2.5, expr.Evaluate(null)); Assert.AreSame(TypeInfo.Double, expr.TypeInfo); }
public void DivideTwoIntegers() { DivideExpression expr = new DivideExpression(new ConstantExpression(6), new ConstantExpression(2)); Assert.AreEqual(3, expr.Evaluate(null)); Assert.AreSame(TypeInfo.Int, expr.TypeInfo); }
public void TestEvaluate() { var expression = new DivideExpression( Mock.Of <IExpression>(e => e.Evaluate(It.IsAny <IDictionary <string, object> >()) == (object)1), Mock.Of <IExpression>(e => e.Evaluate(It.IsAny <IDictionary <string, object> >()) == (object)1), ExpressiveOptions.None); Assert.AreEqual(1d, expression.Evaluate(null)); }
public void ShouldDivideTwoRealNumbers() { IExpression expression = new DivideExpression(3.0, 2.0); object value = expression.Evaluate(null); Assert.IsNotNull(value); Assert.IsInstanceOfType(value, typeof(double)); Assert.AreEqual(1.5, (double)value); }
private object Divide(object l, object r) { var scope = new Scope(); scope.SetVar("l", l); scope.SetVar("r", r); var exp = new DivideExpression( new VariableExpression("l"), new VariableExpression("r") ); return(exp.Evaluate(scope, new Bindings()).AsObject()); }
public void DivideDoubleByInteger() { DivideExpression expr = new DivideExpression(new ConstantExpression(2.5), new ConstantExpression(3)); Assert.AreEqual(2.5 / 3, expr.Evaluate(null)); }
public void DivideTwoIntegersToReal() { DivideExpression expr = new DivideExpression(new ConstantExpression(5), new ConstantExpression(2)); Assert.AreEqual(2.5, expr.Evaluate(null)); }
public void ShouldDivide() { var expr = new DivideExpression(Constant(4), Constant(2)); Assert.Equal(2, expr.Evaluate()); }