コード例 #1
0
ファイル: test_dag.py プロジェクト: devplayer0/cs3012
def test_contents():
    dag = DAG()
    dag\
        .add_edge(0, 1)\
        .add_edge(1, 0)\
        .add_edge(2, 1)

    assert dag.contains_vertex(0)
    assert dag.contains_vertex(2)
    assert dag.contains_vertex(1)
    assert not dag.contains_vertex(5)

    assert dag.contains_edge(0, 1)
    assert dag.contains_edge(2, 1)
    assert dag.contains_edge(1, 0)
    assert not dag.contains_edge(1, 2)
    assert not dag.contains_edge(5, 6)
コード例 #2
0
ファイル: test_dag.py プロジェクト: devplayer0/cs3012
def test_deletion():
    dag = DAG()
    dag\
        .add_edge(0, 1)\
        .add_edge(1, 0)\
        .add_edge(2, 1)

    dag.remove_edge(0, 1)
    assert not dag.contains_edge(0, 1)
    assert dag.adjacent(0) == set()
    assert dag.contains_edge(1, 0)
    assert dag.contains_vertex(0)
    with pytest.raises(KeyError):
        dag.remove_edge(0, 1)

    dag.remove_vertex(1)
    assert not dag.contains_vertex(1)
    assert not dag.contains_edge(1, 0)
    assert not dag.contains_edge(2, 1)
    assert dag.adjacent(2) == set()
    assert dag.contains_vertex(2)
    with pytest.raises(KeyError):
        dag.adjacent(1)