public void SMG_04_05_SimplyifyBool() { var sm = new StateMachine(); var btype = sm.GetStateType("boolean"); var v = sm.AddVariable("v", btype); var u = sm.AddVariable("u", btype); var w = sm.AddVariable("w", btype); var c1 = new BooleanCondition(v); var c2 = new BooleanCondition(u); var c3 = new BooleanCondition(w); IGate g; g = Gate.ComposeAND(c1, c2); g = Gate.ComposeOR(g, Gate.Invert(c3)); Trace("{0}", g); Assert.AreEqual("vu + !w", g.ToString()); }