public Evaluator()
 {
     _converter = new InfixToPostfixConverter();
     _parser = new PostfixParser();
 }
        public void Verify_postfix_parser()
        {
            var parser = new PostfixParser();

            Assert.IsTrue(parser.Evaluate("true"));
            Assert.IsFalse(parser.Evaluate("false"));

            Assert.IsTrue(parser.Evaluate("true true &&"));
            Assert.IsFalse(parser.Evaluate("true false &&"));
            Assert.IsFalse(parser.Evaluate("false true &&"));
            Assert.IsFalse(parser.Evaluate("false false &&"));

            Assert.IsTrue(parser.Evaluate("true true ||"));
            Assert.IsTrue(parser.Evaluate("true false ||"));
            Assert.IsTrue(parser.Evaluate("false true ||"));
            Assert.IsFalse(parser.Evaluate("false false ||"));

            Assert.IsTrue(parser.Evaluate("true true false true || || || true true false false true true true false || && && || || && && false && ||"));

            try
            {
                Assert.IsTrue(parser.Evaluate("(true)"));
            }
            catch (Exception e)
            {
                Assert.IsTrue(e is ArgumentException);
            }
        }