public void DivisionReal_DivisorIsZero_ThrowsException(double input1, double input2)
        {
            RealLiteralExpression realLit1     = new RealLiteralExpression(input1, 1, 1);
            RealLiteralExpression realLit2     = new RealLiteralExpression(input2, 2, 2);
            DivisionExpression    divisionExpr = new DivisionExpression(realLit1, realLit2, 1, 1);
            IInterpreterReal      parent       = Substitute.For <IInterpreterReal>();

            parent.DispatchReal(realLit1, Arg.Any <List <object> >()).Returns(input1);
            parent.DispatchReal(realLit2, Arg.Any <List <object> >()).Returns(input2);
            RealHelper realHelper = SetUpHelper(parent);

            Assert.ThrowsException <DivisionByZeroException>(() => realHelper.DivisionReal(divisionExpr, new List <object>()));
        }
        public void DivisionReal_TwoReals_ReturnsCorrectResult(double input1, double input2, double expected)
        {
            RealLiteralExpression realLit1     = new RealLiteralExpression(input1, 1, 1);
            RealLiteralExpression realLit2     = new RealLiteralExpression(input2, 2, 2);
            DivisionExpression    divisionExpr = new DivisionExpression(realLit1, realLit2, 1, 1);
            IInterpreterReal      parent       = Substitute.For <IInterpreterReal>();

            parent.DispatchReal(realLit1, Arg.Any <List <object> >()).Returns(input1);
            parent.DispatchReal(realLit2, Arg.Any <List <object> >()).Returns(input2);
            RealHelper realHelper = SetUpHelper(parent);

            double res = realHelper.DivisionReal(divisionExpr, new List <object>());

            Assert.AreEqual(expected, res);
        }