Example #1
0
        public void Should_Correctly_Calculate_Simple_Sum()
        {
            //Given, When
            var result = ReversePolish.CalculateExpression("1 2 +");

            //Then
            Assert.Equal(3, result);
        }
Example #2
0
        public void Should_Correctly_Calculate_Long_Expression_More_Operators_per_Series()
        {
            //Given, When
            var result = ReversePolish.CalculateExpression("15 7 1 1 + - / 3 * 2 1 1 + + -");

            //Then
            Assert.Equal(5, result);
        }
Example #3
0
        public void Should_Correctly_Calculate_Simple_Expression_ConsequitiveOperators()
        {
            //Given, When
            var result = ReversePolish.CalculateExpression("2 1 3 - +");

            //Then
            Assert.Equal(0, result);
        }
Example #4
0
        public void Should_Correctly_Calculate_MoreComplicated_Expression()
        {
            //Given, When
            var result = ReversePolish.CalculateExpression("2 1 - 3 *");

            //Then
            Assert.Equal(3, result);
        }
Example #5
0
        public void Should_Correctly_Calculate_Simple_Difference()
        {
            //Given, When
            var result = ReversePolish.CalculateExpression("2 1 -");

            //Then
            Assert.Equal(1, result);
        }
Example #6
0
 public void TestReversePolish()
 {
     for (int i = 0; i < reversePolishInputs.Count; i++)
     {
         var input  = reversePolishInputs[i];
         var output = reversePolishOutputs[i];
         Assert.AreEqual(output, ReversePolish.Calculate(input.ToArray()));
     }
 }
Example #7
0
 private void Input_TextChanged(object sender, EventArgs e)
 {
     if (string.IsNullOrWhiteSpace(Input.Text))
     {
         Output.Text = "";
     }
     else
     {
         try
         {
             ReversePolish polish = new ReversePolish(Input.Text);
             Output.Text = polish.GetValue().ToString();
         }
         catch (Exception)
         {
             Output.Text = "";
         }
     }
 }