public void AlterationTest()
        {
            // Create inital combination
            ExpressionDouble expression = _expression1.Combine(_expression2, ExpressionOperator.Plus) as ExpressionDouble;

            Assert.AreEqual(expression.Result, 3);

            // Alter combined object
            _expression2 = _expression2.Combine(_expression3, ExpressionOperator.Plus) as ExpressionDouble;
            Assert.AreEqual(expression.Result, 3);
        }
        public void MultiplyTest()
        {
            ExpressionDouble expression = _expression1.Combine(_expression2, ExpressionOperator.Multiply) as ExpressionDouble;

            // 1 * 2
            Assert.AreEqual(expression.Result, 2);

            expression = expression.Combine(_expression3, ExpressionOperator.Multiply) as ExpressionDouble;

            // 1 * 2 * 3
            Assert.AreEqual(expression.Result, 6);
        }
        public void DivideTest()
        {
            ExpressionDouble expression = _expression1.Combine(_expression2, ExpressionOperator.Divide) as ExpressionDouble;

            // 1 / 2
            Assert.AreEqual(expression.Result, 0.5);

            expression = expression.Combine(_expression3, ExpressionOperator.Divide) as ExpressionDouble;

            // (1 / 2) / 3
            Assert.AreEqual(expression.Result, 0.5 / 3);
        }
        public void MinusTest()
        {
            ExpressionDouble expression = _expression1.Combine(_expression2, ExpressionOperator.Minus) as ExpressionDouble;

            // 1 - 2
            Assert.AreEqual(expression.Result, -1);

            expression = expression.Combine(_expression3, ExpressionOperator.Minus) as ExpressionDouble;

            // 1 - 2 - 3
            Assert.AreEqual(expression.Result, -4);
        }
        public void PlusTest()
        {
            ExpressionDouble expression = _expression1.Combine(_expression2, ExpressionOperator.Plus) as ExpressionDouble;

            // 1 + 2
            Assert.AreEqual(expression.Result, 3);

            expression = expression.Combine(_expression3, ExpressionOperator.Plus) as ExpressionDouble;

            // 1 + 2 + 3
            Assert.AreEqual(expression.Result, 6);
        }
        public void IntToDoubleCastTest()
        {
            ExpressionDouble expression = _expression1;

            Assert.AreEqual(expression.Result, 1);
        }
 public void Initialize()
 {
     _expression1 = new ExpressionDouble(new string[0], () => 1);
     _expression2 = new ExpressionDouble(new string[0], () => 2);
     _expression3 = new ExpressionDouble(new string[0], () => 3);
 }
Exemple #8
0
        public void ToDoubleTest()
        {
            ExpressionDouble expression = _expression1.ToDoubleExpression();

            Assert.AreEqual(expression.Result, 1);
        }