예제 #1
0
            protected internal override void Mul(CalculatorContext context, Stack <string> stack)
            {
                CalculatorController ctxt = context.Owner;

                if (stack.Count >= 2)
                {
                    CalculatorControllerState endState = context.State;

                    context.ClearState();

                    try
                    {
                        ctxt.Mul();
                    }
                    finally
                    {
                        context.State = endState;
                    }
                }
                else
                {
                    context.State.Exit(context);
                    context.State = Map1.ErrorTuple;
                    context.State.Entry(context);
                }

                return;
            }
예제 #2
0
        public void Mul_123Mul321_39483Returned()
        {
            // Arrange
            CalculatorController controller = new CalculatorController();
            // Act
            int result = controller.Mul(123, 321);

            // Assert
            Assert.Equal(39483, result);
        }
예제 #3
0
        public void Mul_AMulB_AboveZero(int a, int b)
        {
            // Arrange
            CalculatorController controller = new CalculatorController();
            // Act
            int result = controller.Mul(a, b);

            // Assert
            Assert.True(result < 0);
        }
예제 #4
0
        public void Mul_123Mul0_0Returned()
        {
            // Arrange
            CalculatorController controller = new CalculatorController();
            // Act
            int result = controller.Mul(123, 0);

            // Assert
            Assert.Equal(0, result);
        }