示例#1
0
 public void PressOperator(CalculatorOperator op)
 {
     if (op == CalculatorOperator.Eql)
     {
         lcd.Result = lcd.Label; v
     }
 }
示例#2
0
        public void MainVindow_AddOperatorButtonIsPassed()
        {
            CalculatorOperator calculatorOperator = CalculatorOperator.ADD;

            calc.Stub(c => c.CalculatorState).Return(CalculatorState.SCREEN_VIEW);
            calc.Stub(c => c.ScreenText).Return("2");
            calc.operatorButtonPressed(calculatorOperator);
            mocks.ReplayAll();

            viewModel.AddButtonCommand.Execute(null);
            mocks.VerifyAll();
        }
示例#3
0
        public void CalculateAnInvalidOperatorThrowsArgumentException()
        {
            Calculator calculator = new Calculator();
            double     operand1   = 123;
            double     operand2   = 456;

            calculator.Push(operand1);
            calculator.Push(operand2);
            CalculatorOperator op = (CalculatorOperator)12;

            Assert.ThrowsException <ArgumentException>(() => calculator.Calculate(op));
        }
示例#4
0
 private static int Calculate(CalculatorOperator oper, int result, int right)
 {
     switch (oper)
     {
         case CalculatorOperator.Plus:
             result +=right;
             break;
         case CalculatorOperator.Minus:
             result += -1*right;
             break;
     }
     return result;
 }
示例#5
0
        /// <summary>
        /// Divide operator function
        /// </summary>
        public void Divide()
        {
            if (!CheckIfCanPressButton())
            {
                return;
            }

            AudioManager.Instance.PlayClip(buttonClick, transform.position, .3f, 1f);

            ProcessOperator();

            activeOperator = CalculatorOperator.Divide;
        }
示例#6
0
 public void PressOperator(CalculatorOperator op)
 {
     opPress = true;
     if (op == CalculatorOperator.Eql)
     {
         lcd.Result = lcd.Label;
         // if equals operator is press , reset opPress Status
         resetOpPress();
         // get the result from the operation;
     }
     else if (op == CalculatorOperator.Plus)
     {
         // capture previous lcd label
     }
 }
示例#7
0
        /// <summary>
        /// Clear the current display and stored values
        /// </summary>
        public void AllClear()
        {
            if (!CheckIfCanPressButton())
            {
                return;
            }

            AudioManager.Instance.PlayClip(buttonClick, transform.position, .3f, 1f);

            leftValue       = 0f;
            leftValueExists = false;
            rightValue      = 0f;

            memoryValue  = 0f;
            memoryExists = false;

            SetCurrentString(0);
            lastAction     = CalculatorAction.None;
            activeOperator = CalculatorOperator.None;
        }
示例#8
0
 public void EnterOperator(CalculatorOperator op)
 {
     if (isEnteringNumber)
     {
         isEnteringNumber = false;
     }
     else
     {
         RemoveAtEnd();
     }
     actions.Add(op);
 }