ConvertInputStringToReversePolishSignature() public method

public ConvertInputStringToReversePolishSignature ( String expression ) : String
expression String
return String
Exemplo n.º 1
0
        public string CalculateExpression(string expression)
        {
            var reversePolishSignature = _arithmeticExpressionParser.ConvertInputStringToReversePolishSignature(expression);
            var resultInArarbicFormat  = GetResultOfCalculationInArabicFormat(reversePolishSignature);

            if (resultInArarbicFormat <= 0)
            {
                throw new ArgumentException("Not positive result of calculation");
            }

            var resultInRomatFormat = _arithmeticExpressionParser.ConverterOfNumbers.ConvertArabicNumberToRoman(resultInArarbicFormat);

            return(resultInRomatFormat);
        }
        public void ConvertInputStringToReversePolishSignature_InputExpressionIsProperlyConvertedInReversePolishSignature()
        {
            var parser = new ArithmeticExpressionParser();
            const string inputArithmeticExpression = "(VII*IX)*(IX+(LVII*I))";

            const string expectedReversePolishSignature = "$VII$$IX$*$IX$$LVII$$I$*+*";
            var actualReversePolishSignature = parser.ConvertInputStringToReversePolishSignature(inputArithmeticExpression);
            Assert.AreEqual(expectedReversePolishSignature, actualReversePolishSignature);
        }