def test_remove_vertex():
    trek = Space()
    captain = trek.add_vertex('Captain')

    kirk = trek.add_vertex(name='James T. Kirk')
    pike = trek.add_vertex(name='Christopher Pike')

    edges = []
    for person in [kirk, pike]:
        edges.append(trek.add_edge(person, captain, 'has_rank'))

    trek.remove_vertex(captain.id)

    for edge in edges:
        with pytest.raises(MissingEdge):
            trek.edge_by_id(edge.id)

    assert trek.vertex_by_id(kirk.id) == kirk
    assert trek.vertex_by_id(pike.id) == pike
def test_find_vertex_by_id():
    trek = Space()
    kirk = trek.add_vertex(name='James T. Kirk')
    assert trek.vertex_by_id(kirk.id) == kirk