def test_rule_4(self): g = make_graph(4, [(0, 1), (1, 0), (0, 2), (2, 0), (0, 3), (3, 0), (1, 2), (2, 3)]) k = Knowledge() k.set_forbidden(1, 3) meek = MeekRules(undirect_unforced_edges=False, knowledge=k) meek.orient_implied_subset(g, [0]) assert len(g.edges()) == 7 assert has_dir_edge(g, 1, 2) assert has_dir_edge(g, 2, 3) assert has_dir_edge(g, 0, 3) assert has_undir_edge(g, 0, 1) assert has_undir_edge(g, 0, 2)