def test_top_cofactor(): ordering = {'x': 0, 'y': 1} g = BDD(ordering) x = ordering['x'] y = ordering['y'] u = g.find_or_add(y, -1, 1) assert g._top_cofactor(u, x) == (u, u) assert g._top_cofactor(u, y) == (-1, 1) u = g.find_or_add(x, -1, 1) assert g._top_cofactor(u, x) == (-1, 1) assert g._top_cofactor(-u, x) == (1, -1)