// Root n0.
ConditionalOpNode n0 = new ConditionalOpNode();
// Children of n0.
NotOpNode n1 = new NotOpNode();
NotEqualOpNode n2 = new NotEqualOpNode();
TimesOpNode n3 = new TimesOpNode();
n0.addChild(n1);
n0.addChild(n2);
n0.addChild(n3);
// Child of n1.
n1.addChild(x);
// Children of n2.
n2.addChild(x);
n2.addChild(x);
// Children of n3.
n3.addChild(x);
n3.addChild(x);
assertEquals("not $x ? $x != $x : $x * $x", n0.toSourceString());