public void ConstructorTest() { RPNCalculatorEngine engine = new RPNCalculatorEngine(); Assert.IsNotNull(engine); Assert.IsInstanceOfType(engine, typeof(RPNCalculatorEngine)); }
public void Process_Complex_Test() { RPNCalculatorEngine r = new RPNCalculatorEngine(); Assert.AreEqual("8", r.Process("1 3 + 2 X")); Assert.AreEqual("5", r.Process("1 3 2 + X")); Assert.AreEqual("-5", r.Process("1 2 3 4 + - X")); }
public void Process_Error_Test() { RPNCalculatorEngine r = new RPNCalculatorEngine(); Assert.AreEqual("E", r.Process("1")); Assert.AreEqual("E", r.Process("1 +")); Assert.AreEqual("E", r.Process("1 + 1")); Assert.AreEqual("E", r.Process("1 1 1 +")); Assert.AreEqual("E", r.Process("+")); Assert.AreEqual("E", r.Process("+ 1")); Assert.AreEqual("E", r.Process("+ 1 1")); Assert.AreEqual("E", r.Process("1 1 1 + + +")); }
public void Process_Basic_Test() { RPNCalculatorEngine r = new RPNCalculatorEngine(); Assert.AreEqual("2", r.Process("1 1 +")); Assert.AreEqual("1", r.Process("3 2 -")); Assert.AreEqual("6", r.Process("3 2 X")); Assert.AreEqual("2", r.Process("4 2 ÷")); Assert.AreEqual("0", r.Process("1 -1 +")); Assert.AreEqual("5", r.Process("3 -2 -")); Assert.AreEqual("-1", r.Process("2 3 -")); Assert.AreEqual("-6", r.Process("3 -2 X")); Assert.AreEqual("-2", r.Process("-4 2 ÷")); }
public static void Main() { rpnCalcEngine = new RPNCalculatorEngine(); buttons = new Dictionary <char, int>(); RPNCalculatorEngine.Operation operation; int i = 0; bool errorDisplayed = false; while ((operation = rpnCalcEngine.GetOperation(i)) != null) { buttons.Add(operation.ShortCut, i++); } DisplayButtons(); do { DrawCalculator(); int button; char keyChar = Console.ReadKey(true).KeyChar; if (keyChar == '\x1b') { break; // exit the loop if Escape key pressed } if (buttons.TryGetValue(keyChar, out button)) { try { if (errorDisplayed) { Console.SetCursorPosition(0, 0); WriteErrorLine(" "); WriteErrorLine(" "); DisplayButtons(); errorDisplayed = false; } rpnCalcEngine.PressKey(button); } catch (FormatException) { WriteErrorLine("Invalid number format"); errorDisplayed = true; } catch (Exception e) { WriteErrorLine(e.Message); errorDisplayed = true; } } } while (true); }
public void Initialize() { engine = new RPNCalculatorEngine(); }
public void EmptyArgumentTest() { RPNCalculatorEngine engine = new RPNCalculatorEngine(); }