Ejemplo n.º 1
0
        public void DividingingTwoNumbersShouldReturnCorrectNumber()
        {
            //Arrange
            var calculatorItems = new CalculatorItems
            {
                firstNumber  = 1234.567,
                secondNumber = 1.2,
                operation    = '/'
            };

            var expectedResult = calculatorItems.firstNumber / calculatorItems.secondNumber;

            //Act
            try
            {
                var result = new CalculateAction(calculatorItems).Execute();

                //Assert
                Assert.IsTrue(Math.Abs(result.result - expectedResult) <= double.Epsilon);
            }
            catch (Exception exception)
            {
                throw new Exception(exception.Message);
            }
        }
        public CalculatorItems MultiplyCalculatorItems(CalculatorItems items)
        {
            var mult = items.Num1 * items.Num2;

            items.Reslt = mult;

            return(items);
        }
        public CalculatorItems SquareRootCalculatorItems(CalculatorItems items)
        {
            var sq = Math.Sqrt(items.Num1);

            items.Reslt = sq;

            return(items);
        }
        public CalculatorItems PowerCalculatorItems(CalculatorItems items)
        {
            var pw = Math.Pow(items.Num1, items.Num2);

            items.Reslt = pw;


            return(items);
        }
        public CalculatorItems DivideCalculatorItems(CalculatorItems items)
        {
            var div = items.Num1 / items.Num2;

            items.Reslt = div;


            return(items);
        }
        public CalculatorItems SumCalculatorItems(CalculatorItems items)
        {
            var sum = items.Num1 + items.Num2;

            items.Reslt = sum;


            return(items);
        }
Ejemplo n.º 7
0
        public void ShouldDivisingNumbersGiveTheCorrectRessult(double n1, double n2, double resultat)
        {
            CalculatorItems calc = new CalculatorItems {
                Item1 = n1, Item2 = n2, Operator = CalculatorOperatorEnum.Division
            };
            HomeController ctrl = new HomeController();

            ctrl.Index(calc);
            Assert.AreEqual(resultat, calc.Result);
        }
Ejemplo n.º 8
0
        public void ShoudDivisingByZeroGiveNoResult()
        {
            CalculatorItems calc = new CalculatorItems {
                Item1 = 10, Item2 = 0, Operator = CalculatorOperatorEnum.Division
            };
            HomeController ctrl = new HomeController();

            ctrl.Index(calc);
            Assert.AreEqual(null, calc.Result);
        }
Ejemplo n.º 9
0
        public ActionResult <CalculatorItems> SquareRootCalculatorItems(CalculatorItems items)
        {
            var calcItems = _services.SquareRootCalculatorItems(items);

            if (calcItems == null)
            {
                return(NotFound());
            }

            return(calcItems);
        }
Ejemplo n.º 10
0
        public ActionResult <CalculatorItems> MultiplyCalculatorItems(CalculatorItems items)
        {
            var calcItems = _services.MultiplyCalculatorItems(items);

            if (calcItems == null)
            {
                return(NotFound());
            }

            return(calcItems);
        }
Ejemplo n.º 11
0
        public void ValidFirstNumberTextShouldReturnCorrectFirstNumberDouble()
        {
            //Arrange
            var calculatorItems = new CalculatorItems
            {
                firstNumberText  = "1234.567",
                secondNumberText = "1234.567",
                operationText    = "+"
            };

            //Act
            var result = new InputHandler(calculatorItems).CleanCalculatorItems();

            //Assert
            Assert.IsTrue(Math.Abs(result.firstNumber - 1234.567) < double.Epsilon);
        }
Ejemplo n.º 12
0
        public void ValidOperationTextShouldReturnCorrectOperationChar()
        {
            //Arrange
            var calculatorItems = new CalculatorItems
            {
                firstNumberText  = "1234.567",
                secondNumberText = "1234.567",
                operationText    = "+"
            };

            //Act
            var result = new InputHandler(calculatorItems).CleanCalculatorItems();

            //Assert
            Assert.IsTrue(result.operation.Equals('+'));
        }
Ejemplo n.º 13
0
        public void DividingByZeroShouldBeHandledByCode()
        {
            var calculatorItems = new CalculatorItems
            {
                firstNumberText  = "1",
                secondNumberText = "0",
                operationText    = "/"
            };

            try
            {
                var returnedCalculatorItems = new CalculatorExecutor(calculatorItems).Run();
            }
            catch (Exception exception)
            {
                Assert.IsTrue(exception.Message.Contains("0-val"));
            }
        }
Ejemplo n.º 14
0
        public ActionResult Index(CalculatorItems model)
        {
            model.Result = null;

            if (ModelState.IsValid)
            {
                switch (model.Operator)
                {
                case CalculatorOperatorEnum.Addition:
                    model.Result = model.Item1 + model.Item2;
                    break;

                case CalculatorOperatorEnum.Division:
                    if (model.Item2 == 0)
                    {
                        aLogger.Info("Division by zero is not allowed.");
                        ModelState.AddModelError("Item2", "Division by zero is not allowed");
                        break;
                    }
                    model.Result = model.Item1 / model.Item2;
                    break;

                case CalculatorOperatorEnum.Multiplication:
                    model.Result = model.Item1 * model.Item2;
                    break;

                case CalculatorOperatorEnum.Subtraction:
                    model.Result = model.Item1 - model.Item2;
                    break;
                }

                aLogger.Info(string.Format("Requested operation is {0} {1} {2}", model.Item1, model.Operator, model.Item2));
                if (model.Result != null)
                {
                    aLogger.Info("Result is " + model.Result);
                }
            }
            else
            {
                aLogger.Info("ModelState is invalid");
            }
            return(View(model));
        }
Ejemplo n.º 15
0
        public void AddingTwoNumbersShouldReturnCorrectResult()
        {
            var calculatorItems = new CalculatorItems
            {
                firstNumberText  = "33333.3333",
                secondNumberText = "77777.7777",
                operationText    = "+"
            };

            var expectedResult = Convert.ToDouble(calculatorItems.firstNumberText) +
                                 Convert.ToDouble(calculatorItems.secondNumberText);

            try
            {
                var returnedCalculatorItems = new CalculatorExecutor(calculatorItems).Run();
                Assert.IsTrue(Math.Abs(returnedCalculatorItems.result - expectedResult) <= double.Epsilon);
            }
            catch (Exception exception)
            {
                throw new Exception(exception.Message);
            }
        }
Ejemplo n.º 16
0
        public void DivindingByZeroShouldReturnInfinity()
        {
            //Arrange
            var calculatorItems = new CalculatorItems
            {
                firstNumber  = 1234.567,
                secondNumber = 0,
                operation    = '/'
            };

            //Act
            try
            {
                var expectedResult = new CalculateAction(calculatorItems).Execute();
                //Assert
                Assert.IsTrue(double.IsInfinity(expectedResult.result));
            }
            catch (Exception exception)
            {
                throw  new Exception(exception.Message);
            }
        }
Ejemplo n.º 17
0
        public void InvalidSecondNumberShouldReturnException()
        {
            //Arrange
            CalculatorItems result;

            var calculatorItems = new CalculatorItems
            {
                firstNumberText  = "1234.567",
                secondNumberText = "xxx",
                operationText    = "+"
            };

            //Act
            try
            {
                result = new InputHandler(calculatorItems).CleanCalculatorItems();
            }
            catch (Exception exception)
            {
                //Assert
                Assert.IsTrue(exception.Message.Contains("hibás szám"));
            }
        }