Пример #1
0
        public void BuildExpression_ReversePolishExpressionBuilder_OperatorAndNumberImbalance()
        {
            // Arrange
            ReversePolishExpressionBuilder builder = new ReversePolishExpressionBuilder();
            string input = "3 3 + 5 7-*^";

            // Act
            builder.ExpressionString = input;
        }
Пример #2
0
        public void BuildExpression_ReversePolishExpressionBuilder_InvalidCharactersPresent()
        {
            // Arrange
            ReversePolishExpressionBuilder builder = new ReversePolishExpressionBuilder();
            string input = "3 a + 5 7-*";

            // Act
            builder.ExpressionString = input;
        }
Пример #3
0
        public void BuildExpression_ReversePolishExpressionBuilder_EndsWithNumber()
        {
            // Arrange
            ReversePolishExpressionBuilder builder = new ReversePolishExpressionBuilder();
            string input = "^ 3 3 + 5 7-*";

            // Act
            builder.ExpressionString = input;
        }
Пример #4
0
        public void EvaluateExpression_ReversePolishExpressionBuilder_VerifyResult()
        {
            // Arrange
            ReversePolishExpressionBuilder builder = new ReversePolishExpressionBuilder();
            string input = "15 7 1 1 + - / 3*2 1 1 ++ -";

            // Act
            builder.ExpressionString = input;

            // Assert
            Assert.AreEqual(builder.Result, 5);
        }
Пример #5
0
        public void Reset_ReversePolishExpressionBuilder_VerifyInstanceFields()
        {
            // Arrange
            ReversePolishExpressionBuilder builder = new ReversePolishExpressionBuilder();
            string input = "15 7 1 1 + - / 3*2 1 1 ++ -";

            // Act
            builder.ExpressionString = input;
            builder.Reset();

            // Assert
            Assert.AreEqual(builder.ExpressionString, "");
            Assert.AreEqual(builder.ExpressionTerms.Count, 0);
            Assert.AreEqual(builder.RootExpression, null);
        }