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); } }