public void Verify_infix_to_postfix_conversion() { var converter = new InfixToPostfixConverter(); Assert.AreEqual(converter.Convert("()"), ""); Assert.AreEqual(converter.Convert("( true && (true) ) || false"), "true true && false ||"); Assert.AreEqual(converter.Convert( "(true || ((true || (false || true)))) || (true && true && false || (false || true && (true && true || ((false))))) && false"), "true true false true || || || true true false false true true true false || && && || || && && false && ||"); Assert.AreEqual(converter.Convert("!!((!(!!true))) && true"), "true ! ! ! ! ! true &&"); try { converter.Convert("("); } catch (Exception e) { Assert.IsTrue(e is ArgumentException); } try { converter.Convert(")"); } catch (Exception e) { Assert.IsTrue(e is ArgumentException); } try { converter.Convert("(( true )"); } catch (Exception e) { Assert.IsTrue(e is ArgumentException); } try { converter.Convert("( true && false ))"); } catch (Exception e) { Assert.IsTrue(e is ArgumentException); } }
public Evaluator() { _converter = new InfixToPostfixConverter(); _parser = new PostfixParser(); }