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_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_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
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