public void ComplexExpressionReturnThreePrecisionPoints() { RpnCalculator calculator = new RpnCalculator(); string expression = "2 3 / 2.21 *"; Assert.That(calculator.Calculate(expression) == (decimal)1.473); }
public void EmptyExpressionThenThrowException() { RpnCalculator calculator = new RpnCalculator(); string expression = ""; Assert.Throws(typeof(ArgumentNullException), delegate { calculator.Calculate(expression); }); }
public void ReturnThreePrecisionPointsWithRoundUp() { RpnCalculator calculator = new RpnCalculator(); string expression = "2.000 3 /"; Assert.That(calculator.Calculate(expression) == (decimal)0.667); }
public void DivideTwoNumbersWorks() { RpnCalculator calculator = new RpnCalculator(); string expression = "1 2 /"; Assert.That(calculator.Calculate(expression) == (decimal)0.5); }
public void ComplexExpressionWorks() { RpnCalculator calculator = new RpnCalculator(); string expression = "15 7 1 1 + - / 3 * 2 1 1 + + -"; Assert.That(calculator.Calculate(expression) == 5); }
public void MinusTwoNumbersWorks() { RpnCalculator calculator = new RpnCalculator(); string expression = "4 5 -"; Assert.That(calculator.Calculate(expression) == -1); }
public void MultiplyTwoNumbersWorks() { RpnCalculator calculator = new RpnCalculator(); string expression = "2 3 *"; Assert.That(calculator.Calculate(expression) == 6); }
public void DecimalFactorialOperatorThenThrowException() { RpnCalculator calculator = new RpnCalculator(); string expression = "2.2 !"; Assert.Throws(typeof(ArgumentOutOfRangeException), delegate { calculator.Calculate(expression); }); }
public void DecimalExponentialOperatorWorks() { RpnCalculator calculator = new RpnCalculator(); string expression = "2.2 3 ^"; Assert.That(calculator.Calculate(expression) == (decimal)10.648); }
public void InputHasFactorialOperator() { RpnCalculator calculator = new RpnCalculator(); string expression = "4 !"; Assert.That(calculator.Calculate(expression) == (decimal)24); }
public void PlusTwoNumbersWorks() { RpnCalculator calculator = new RpnCalculator(); string expression = "1 2 +"; Assert.That(calculator.Calculate(expression) == 3); }
public void ComplexExpressionAndDecimalPercentageOperatorWorks() { RpnCalculator calculator = new RpnCalculator(); string expression = "3.76 25.5 % -"; Assert.That(calculator.Calculate(expression) == (decimal)3.505); }
public void ComplexExpressionAndPercentageOperatorWorks() { RpnCalculator calculator = new RpnCalculator(); string expression = "1 10 % +"; Assert.That(calculator.Calculate(expression) == (decimal)1.1); }
public void PercentageOperatorWorks() { RpnCalculator calculator = new RpnCalculator(); string expression = "10 %"; Assert.That(calculator.Calculate(expression) == (decimal)0.1); }