コード例 #1
0
        public void Cancel_WhenCancel_ThenDisplayValueIsZero()
        {
            //Arrange
            var displayNumber   = DisplayNumberFactory.Create("123");
            var calculatorState = new CalculatorState.Builder().DisplayNumber(displayNumber)
                                  .Build();
            var calculator = new Calculator(calculatorState);

            //Act
            calculator.Cancel();

            //Assert
            Assert.That(calculator.DisplayValue, Is.EqualTo("0"));
        }
コード例 #2
0
        public void Clear_WhenAnyDisplayValue_ThenDisplayValueWillBeReset(string displayValue)
        {
            //Arrange
            var displayNumber   = DisplayNumberFactory.Create(displayValue);
            var calculatorState = new CalculatorState.Builder().DisplayNumber(displayNumber)
                                  .Build();
            var calculator = new Calculator(calculatorState);

            //Act
            calculator.Clear();

            //Assert
            Assert.That(calculator.DisplayValue, Is.EqualTo("0"));
        }
コード例 #3
0
        public string TestClearLastSymbol(string displayValue, bool isLastActionAnBinaryOperation)
        {
            //Arrange
            var displayNumber   = DisplayNumberFactory.Create(displayValue);
            var calculatorState = new CalculatorState.Builder().DisplayNumber(displayNumber)
                                  .IsLastActionAnBinaryOperation(isLastActionAnBinaryOperation)
                                  .Build();
            var calculator = new Calculator(calculatorState);

            //Act
            calculator.ClearLastSymbol();

            //Assert
            return(calculator.DisplayValue);
        }
コード例 #4
0
        public void ApplyDivision_WhenWasNotAnyOperationBefore_ThenDisplayValueWillNotBeChanged(double previousValue, string displayValue)
        {
            //Arrange
            var displayNumber   = DisplayNumberFactory.Create(displayValue);
            var calculatorState = new CalculatorState.Builder().PreviousValue(previousValue)
                                  .DisplayNumber(displayNumber)
                                  .Build();
            var calculator          = new Calculator(calculatorState);
            var initialDisplayValue = calculator.DisplayValue;

            //Act
            calculator.ApplyDivision();

            //Assert
            Assert.That(calculator.DisplayValue, Is.EqualTo(initialDisplayValue));
        }
コード例 #5
0
        public string TestApplyZero(double previousValue, string displayValue, bool isLastActionAnBinaryOperation)
        {
            //Arrange
            var displayNumber   = DisplayNumberFactory.Create(displayValue);
            var calculatorState = new CalculatorState.Builder().PreviousValue(previousValue)
                                  .DisplayNumber(displayNumber)
                                  .IsLastActionAnBinaryOperation(isLastActionAnBinaryOperation)
                                  .Build();
            var calculator = new Calculator(calculatorState);

            //Act
            calculator.ApplyZero();

            //Assert
            return(calculator.DisplayValue);
        }
コード例 #6
0
        public void Cancel_WhenAnyNumberAndOperationWereAppliedAndThenApplyEquality_ThenDisplayValueIsZero()
        {
            //Arrange
            var displayNumber   = DisplayNumberFactory.Create("123");
            var calculatorState = new CalculatorState.Builder().PreviousValue(456)
                                  .DisplayNumber(displayNumber)
                                  .Build();
            var calculator = new Calculator(calculatorState);

            //Act
            calculator.Cancel();
            calculator.ApplyEquality();

            //Assert
            Assert.That(calculator.DisplayValue, Is.EqualTo("0"));
        }