def test_transition_matrix_with_supernode(): karate_club = karate_club_graph() karate_club = canonical_relabel_nodes(keep_largest_component(karate_club)) karate_club_super = add_supernode(karate_club, query=[10, 20, 30]) P = compute_transition_matrix(karate_club_super) for v in [10, 20, 30]: assert P[-1, v - 1] == 1 / 3
def test_add_supernode(): karate_club = karate_club_graph() n = len(karate_club) m = len(karate_club.edges()) karate_club = add_supernode(karate_club, query=[10, 20, 30]) assert len(karate_club) == n + 1, 'Supernode was not added.' # for v in [10, 20, 30]: # assert(n + 1, # karate_club.graph['canonical_map'][v] in karate_club.edges(), # 'Edge from supernode to query not added.') assert len(karate_club.edges()) == 2 * m + 3, \ 'Number of edges after adding supernode is incorrect.'
def test_supernode_last(): karate_club = karate_club_graph() karate_club_super = add_supernode(karate_club, query=[]) for i, v in enumerate(karate_club_super): if i == len(karate_club_super) - 1: assert karate_club_super.graph['label_map'][v] == SUPER_NODE