def test_sat_iter(): # x & y g = x_and_y() u = 2 s = [{'x': 1, 'y': 1}] compare_iter_to_list_of_sets(u, g, s) # x | y g = x_or_y() u = 2 s = [{'x': 1}, {'x': 0, 'y': 1}] compare_iter_to_list_of_sets(u, g, s) # x & !y g = x_and_not_y() u = -2 s = [{'x': 1, 'y': 0}] compare_iter_to_list_of_sets(u, g, s) # gaps in order order = {'x': 0, 'y': 1, 'z': 2} bdd = BDD(order) u = bdd.add_expr('x & z') (m, ) = bdd.sat_iter(u) assert m == {'x': 1, 'z': 1}, m
def test_sat_iter(): # x & y g = x_and_y() u = 2 s = [{'x': 1, 'y': 1}] compare_iter_to_list_of_sets(u, g, s) # x | y g = x_or_y() u = 2 s = [{'x': 1}, {'x': 0, 'y': 1}] compare_iter_to_list_of_sets(u, g, s) # x & !y g = x_and_not_y() u = -2 s = [{'x': 1, 'y': 0}] compare_iter_to_list_of_sets(u, g, s) # gaps in order order = {'x': 0, 'y': 1, 'z': 2} bdd = BDD(order) u = bdd.add_expr('x & z') (m,) = bdd.sat_iter(u) assert m == {'x': 1, 'z': 1}, m