public void AddExpression_FirstEmpty_Test() { var firstExpression = new SimpleLogicExpression(string.Empty); var secondExpression = new SimpleLogicExpression("a || b"); firstExpression.AddExpression(secondExpression); Assert.AreEqual("a || b", firstExpression.ToString()); Assert.AreEqual(secondExpression.ToString(), firstExpression.ToString()); }
public void AddExpression_Simple_Test() { var firstExpression = new SimpleLogicExpression("a || b"); var secondExpression = new SimpleLogicExpression("a && c"); firstExpression.AddExpression(secondExpression); Assert.AreEqual("(a || b) && (a && c)", firstExpression.ToString()); Assert.AreEqual("a && c", secondExpression.ToString()); }
public void AddExpression_Complex_Test() { var firstExpression = new SimpleLogicExpression("(!a || b) && c"); var secondExpression = new SimpleLogicExpression("a && c || !(b && !a)"); var thirdExpression = new SimpleLogicExpression("!a && !b || (!a)"); secondExpression.AddExpression(thirdExpression); var expected = "(a && c || !(b && !a)) && (!a && !b || (!a))".Trim().Normalize(); var actual = secondExpression.ToString().Trim().Normalize(); Assert.AreEqual(expected, actual); firstExpression.AddExpression(secondExpression); var expected2 = "((!a || b) && c) && ((a && c || !(b && !a)) && (!a && !b || (!a)))".Trim().Normalize(); var actual2 = firstExpression.ToString().Trim().Normalize(); Assert.AreEqual(expected2, actual2); }