}
@Test
public void testSimplify2() {
// '(!a || !b) && !c' => '!((a && b) || c)'
IfCondition a = makeSimpleCondition();
IfCondition b = makeSimpleCondition();
IfCondition c = makeSimpleCondition();
IfCondition cond = merge(Mode.AND, merge(Mode.OR, not(a), not(b)), not(c));
IfCondition simp = simplify(cond);
assertEquals(simp.getMode(), Mode.NOT);
IfCondition f = simp.first();
assertEquals(f.getMode(), Mode.OR);
assertEquals(f.first().getMode(), Mode.AND);
assertEquals(f.first().first(), a);
assertEquals(f.first().second(), b);
assertEquals(f.second(), c);
}