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_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 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 + + +"));
        }
예제 #4
0
 public void EmptyArgumentTest()
 {
     Assert.AreEqual("E", engine.Process(null));
     Assert.AreEqual("E", engine.Process(""));
 }