Пример #1
0
        public void ComplexExpressionReturnThreePrecisionPoints()
        {
            RpnCalculator calculator = new RpnCalculator();
            string        expression = "2 3 / 2.21 *";

            Assert.That(calculator.Calculate(expression) == (decimal)1.473);
        }
Пример #2
0
        public void EmptyExpressionThenThrowException()
        {
            RpnCalculator calculator = new RpnCalculator();
            string        expression = "";

            Assert.Throws(typeof(ArgumentNullException), delegate { calculator.Calculate(expression); });
        }
Пример #3
0
        public void ReturnThreePrecisionPointsWithRoundUp()
        {
            RpnCalculator calculator = new RpnCalculator();
            string        expression = "2.000 3 /";

            Assert.That(calculator.Calculate(expression) == (decimal)0.667);
        }
Пример #4
0
        public void DivideTwoNumbersWorks()
        {
            RpnCalculator calculator = new RpnCalculator();
            string        expression = "1 2 /";

            Assert.That(calculator.Calculate(expression) == (decimal)0.5);
        }
Пример #5
0
        public void ComplexExpressionWorks()
        {
            RpnCalculator calculator = new RpnCalculator();
            string        expression = "15 7 1 1 + - / 3 * 2 1 1 + + -";

            Assert.That(calculator.Calculate(expression) == 5);
        }
Пример #6
0
        public void MinusTwoNumbersWorks()
        {
            RpnCalculator calculator = new RpnCalculator();
            string        expression = "4 5 -";

            Assert.That(calculator.Calculate(expression) == -1);
        }
Пример #7
0
        public void MultiplyTwoNumbersWorks()
        {
            RpnCalculator calculator = new RpnCalculator();
            string        expression = "2 3 *";

            Assert.That(calculator.Calculate(expression) == 6);
        }
Пример #8
0
        public void DecimalFactorialOperatorThenThrowException()
        {
            RpnCalculator calculator = new RpnCalculator();
            string        expression = "2.2 !";

            Assert.Throws(typeof(ArgumentOutOfRangeException), delegate { calculator.Calculate(expression); });
        }
Пример #9
0
        public void DecimalExponentialOperatorWorks()
        {
            RpnCalculator calculator = new RpnCalculator();
            string        expression = "2.2 3 ^";

            Assert.That(calculator.Calculate(expression) == (decimal)10.648);
        }
Пример #10
0
        public void InputHasFactorialOperator()
        {
            RpnCalculator calculator = new RpnCalculator();
            string        expression = "4 !";

            Assert.That(calculator.Calculate(expression) == (decimal)24);
        }
Пример #11
0
        public void PlusTwoNumbersWorks()
        {
            RpnCalculator calculator = new RpnCalculator();
            string        expression = "1 2 +";

            Assert.That(calculator.Calculate(expression) == 3);
        }
Пример #12
0
        public void ComplexExpressionAndDecimalPercentageOperatorWorks()
        {
            RpnCalculator calculator = new RpnCalculator();
            string        expression = "3.76 25.5 % -";

            Assert.That(calculator.Calculate(expression) == (decimal)3.505);
        }
Пример #13
0
        public void ComplexExpressionAndPercentageOperatorWorks()
        {
            RpnCalculator calculator = new RpnCalculator();
            string        expression = "1 10 % +";

            Assert.That(calculator.Calculate(expression) == (decimal)1.1);
        }
Пример #14
0
        public void PercentageOperatorWorks()
        {
            RpnCalculator calculator = new RpnCalculator();
            string        expression = "10 %";

            Assert.That(calculator.Calculate(expression) == (decimal)0.1);
        }