示例#1
0
        public void SubtractionExpressionEvaluatesDifferenceInComplexExpression()
        {
            //mnozenje djeljenje testovi, cos i sin sa metodom

            // 2 + x - 7 + x - 10
            IExpression two   = new Constant(2);
            IExpression x     = new VariableX();
            IExpression seven = new Constant(7);
            IExpression ten   = new Constant(10);

            IExpression result = new SumExpression(two, x);

            result = new SubtractionExpression(result, seven);
            result = new SumExpression(result, x);
            result = new SubtractionExpression(result, ten);
            Context            c          = new Context(5);
            List <IExpression> operand    = new List <IExpression>();
            List <IExpression> operations = new List <IExpression>();

            var y = result.Interpret(c);

            Assert.AreEqual(-5, y, 1e-10);


            c = new Context(-3);
            y = result.Interpret(c);
            Assert.AreEqual(-21, y, 1e-10);
        }
示例#2
0
        public void SubtractionExpressionEvaluatesDifferenceOf2Constants()
        {
            IExpression leftConstant  = new Constant(4);
            IExpression rightConstant = new Constant(6);

            IExpression difference = new SubtractionExpression(leftConstant, rightConstant);
            Context     context    = new Context(0);
            var         result     = difference.Interpret(context);

            Assert.AreEqual(-2, result, 1e-10);
        }