private static void assertNoSharedNodes(ExpressionTree tree, Set<ExpressionTree> seen ) throws Exception { if (seen.contains(tree) && tree.getOperator() != ExpressionTree.Operator.LEAF) { assertTrue("repeated node in expression " + tree, false); } seen.add(tree); if (tree.getChildren() != null) { for (ExpressionTree child : tree.getChildren()) { assertNoSharedNodes(child, seen); } } }
and(leaf(14), leaf(15)), and(leaf(16), leaf(17))))).toString()); assertNoSharedNodes(SearchArgumentImpl.BuilderImpl. convertToCNF(or(and(leaf(0), leaf(1), leaf(2)), and(leaf(3), leaf(4), leaf(5)),