Пример #1
0
        public void CalculateResult_WhenDevisionByZero_ThenResultIsCalculationError()
        {
            // Arrange
            var calculatorModel = new CalculatorModel("12", "0", "/");

            // Act
            calculatorModel.CalculateResult();
            // Assert
            Assert.AreEqual(string.Empty, calculatorModel.LeftOperand);
            Assert.AreEqual(string.Empty, calculatorModel.RightOperand);
            Assert.AreEqual(string.Empty, calculatorModel.Operation);
            Assert.AreEqual("Calculation Error", calculatorModel.Result);
        }
Пример #2
0
        public void CalculateResult_WhenInt32IsExceeded_ThenResultIsCalculationError(string leftOperand, string rightOperand, string operation)
        {
            // Arrange
            var calculatorModel = new CalculatorModel(leftOperand, rightOperand, operation);

            // Act
            calculatorModel.CalculateResult();
            // Assert
            Assert.AreEqual(string.Empty, calculatorModel.LeftOperand);
            Assert.AreEqual(string.Empty, calculatorModel.RightOperand);
            Assert.AreEqual(string.Empty, calculatorModel.Operation);
            Assert.AreEqual("Calculation Error", calculatorModel.Result);
        }
Пример #3
0
        public void CalculateResult_WhenValidParametersPassed_ThenResultIsCalculatedCorrectly(string leftOperand, string rightOperand, string operation, string expectedResult)
        {
            // Arrange
            var calculatorModel = new CalculatorModel(leftOperand, rightOperand, operation);

            // Act
            calculatorModel.CalculateResult();
            // Assert
            Assert.AreEqual(leftOperand, calculatorModel.LeftOperand);
            Assert.AreEqual(rightOperand, calculatorModel.RightOperand);
            Assert.AreEqual(operation, calculatorModel.Operation);
            Assert.AreEqual(expectedResult, calculatorModel.Result);
        }
        private void OperationButtonClick(string @operator)
        {
            if (FirstNumber == string.Empty || PreviousOperator == "=")
            {
                FirstNumber      = _display;
                PreviousOperator = @operator;
            }
            else
            {
                SecondNumber = _display;
                Operator     = _previousOperator;
                _calculator.CalculateResult();

                History.Add($"{Math.Round(Convert.ToDouble(FirstNumber), 10)}{Operator}={Math.Round(Convert.ToDouble(Result), 10)}");

                PreviousOperator = @operator;
                Display          = Result;
                FirstNumber      = _display;
            }
            _clearDisplay = true;
        }
Пример #5
0
 public ActionResult Calculate(CalculatorModel calculator)
 {
     calculator.CalculateResult();
     return(RedirectToAction("Index", calculator));
 }