コード例 #1
0
ファイル: test_dotter.py プロジェクト: paetzke/dotter
def test_output():
    dotter = Dotter(output_to_file=False, output_type='dot')
    for node in ['a', 'b', 'c', 'd']:
        dotter.add_node(node, label=node)
    output = dotter.commands
    expected = [x.replace('\t', '') for x in load_data('test_output.dot')]
    assert output == expected
コード例 #2
0
ファイル: test_dotter.py プロジェクト: paetzke/dotter
def test_nodes_attributes():
    dotter = Dotter()
    dotter.nodes_attributes(shape=Shape.Box)
    dotter.nodes_attributes(font='MyFont')
    expected = ['digraph', ' {', 'node [shape="box"]',
                'node [fontname="MyFont"]']
    assert dotter.commands == expected
コード例 #3
0
def test_output():
    dotter = Dotter(output_to_file=False, output_type='dot')
    for node in ['a', 'b', 'c', 'd']:
        dotter.add_node(node, label=node)
    output = dotter.close()
    output = output.splitlines()
    expected = load_data('test_output.dot')
    assert output == expected
コード例 #4
0
ファイル: test_dotter.py プロジェクト: rwarren/dotter
def test_output():
    dotter = Dotter(output_to_file=False, output_type='dot')
    for node in ['a', 'b', 'c', 'd']:
        dotter.add_node(node, label=node)
    output = dotter.close()
    output = output.splitlines()
    expected = load_data('test_output.dot')
    assert output == expected
コード例 #5
0
ファイル: test_dotter.py プロジェクト: rwarren/dotter
def test_addnode_styles():
    dotter = Dotter()
    dotter.add_node('a', styles=["diagonals", "filled", "bold"])
    expected = ['digraph',
                ' {',
                'gb',
                'gb [label="a"]',
                'gb [style="diagonals, filled, bold"]',
                ]
    assert expected == dotter.commands
コード例 #6
0
def test_addnode_styles():
    dotter = Dotter()
    dotter.add_node('a', styles=["diagonals", "filled", "bold"])
    expected = [
        'digraph',
        ' {',
        'gb',
        'gb [label="a"]',
        'gb [style="diagonals, filled, bold"]',
    ]
    assert expected == dotter.commands
コード例 #7
0
def test_default_output_type():
    dotter = Dotter()
    assert dotter.args == ['dot', '-O', '-Tpdf']
コード例 #8
0
def test_get_filetype_from_name():
    dotter = Dotter(output_filename='test.png')
    assert dotter.args == ['dot', '-o', 'test.png', '-Tpng']

    dotter = Dotter(output_filename='test.PNG')
    assert dotter.args == ['dot', '-o', 'test.PNG', '-Tpng']
コード例 #9
0
ファイル: test_dotter.py プロジェクト: rwarren/dotter
def test_dotter_str():
    dotter = Dotter(strict=True, output_to_file=False, output_type='svg')
    dotter.add_node('a')
    dotter.close()
    expected = ' strict \ndigraph\n {\ngb\ngb [label="a"]\n}'
    assert str(dotter) == expected
コード例 #10
0
def test_edge_label():
    dotter = Dotter(directed=False)
    dotter.add_edge('a', 'b', 'a to b')
    expected = ['graph', ' {', 'gb -- gc [label="a to b"]']
    assert dotter.commands == expected
コード例 #11
0
ファイル: test_dotter.py プロジェクト: rwarren/dotter
def test_directed_graph():
    dotter = Dotter(directed=True)
    dotter.add_edge('a', 'b')
    expected = ['digraph', ' {', 'gb -> gc']
    assert expected == dotter.commands
コード例 #12
0
def test_rank():
    dotter = Dotter()
    for node in ['a', 'b', 'c', 'd']:
        dotter.add_node(node, label=node)
    dotter.add_edge('a', 'b')
    dotter.add_edge('a', 'c')
    dotter.add_edge('a', 'd')

    dotter.rank(['a', 'b'], RankType.Min)
    dotter.rank(['c'], RankType.Same)
    dotter.rank(['d'], RankType.Max)

    expected = load_data('test_rank.dot')
    assert expected == dotter.commands
コード例 #13
0
ファイル: test_dotter.py プロジェクト: rwarren/dotter
def test_rank():
    dotter = Dotter()
    for node in ['a', 'b', 'c', 'd']:
        dotter.add_node(node, label=node)
    dotter.add_edge('a', 'b')
    dotter.add_edge('a', 'c')
    dotter.add_edge('a', 'd')

    dotter.rank(['a', 'b'], RankType.Min)
    dotter.rank(['c'], RankType.Same)
    dotter.rank(['d'], RankType.Max)

    expected = load_data('test_rank.dot')
    assert expected == dotter.commands
コード例 #14
0
def test_directed_graph():
    dotter = Dotter(directed=True)
    dotter.add_edge('a', 'b')
    expected = ['digraph', ' {', 'gb -> gc']
    assert expected == dotter.commands
コード例 #15
0
ファイル: test_dotter.py プロジェクト: rwarren/dotter
def test_set_position():
    dotter = Dotter(program=Program.Neato)
    dotter.add_node('a')
    dotter.set_position('a', 5, 4)
    expected = ['digraph', ' {', 'gb', 'gb [label="a"]', 'gb [pos="5,4!"]']
    assert expected == dotter.commands
コード例 #16
0
ファイル: test_dotter.py プロジェクト: rwarren/dotter
def test_set_position_wrong_program():
    dotter = Dotter()
    dotter.add_node('a')
    with raises(Warning):
        dotter.set_position('a', 5, 4)
コード例 #17
0
ファイル: test_dotter.py プロジェクト: rwarren/dotter
def test_edge_label():
    dotter = Dotter(directed=False)
    dotter.add_edge('a', 'b', 'a to b')
    expected = ['graph', ' {', 'gb -- gc [label="a to b"]']
    assert dotter.commands == expected
コード例 #18
0
ファイル: test_dotter.py プロジェクト: rwarren/dotter
def test_addnode_label():
    dotter = Dotter()
    dotter.add_node('a', label='b')
    expected = ['digraph', ' {', 'gb', 'gb [label="b"]']
    assert expected == dotter.commands
コード例 #19
0
ファイル: test_dotter.py プロジェクト: rwarren/dotter
def test_strict():
    dotter = Dotter(strict=False)
    dotter.add_edge('a', 'b')
    dotter.add_edge('a', 'b')
    expected = ['digraph', ' {', 'gb -> gc', 'gb -> gc']
    assert expected == dotter.commands
コード例 #20
0
def test_output_type_has_priority():
    dotter = Dotter(output_filename='test.png', output_type='pdf')
    assert dotter.args == ['dot', '-o', 'test.png', '-Tpdf']
コード例 #21
0
def test_addnode_label():
    dotter = Dotter()
    dotter.add_node('a', label='b')
    expected = ['digraph', ' {', 'gb', 'gb [label="b"]']
    assert expected == dotter.commands
コード例 #22
0
def test_undirected_graph():
    dotter = Dotter(directed=False)
    dotter.add_edge('a', 'b')
    expected = ['graph', ' {', 'gb -- gc']
    assert expected == dotter.commands
コード例 #23
0
def test_set_position():
    dotter = Dotter(program=Program.Neato)
    dotter.add_node('a')
    dotter.set_position('a', 5, 4)
    expected = ['digraph', ' {', 'gb', 'gb [label="a"]', 'gb [pos="5,4!"]']
    assert expected == dotter.commands
コード例 #24
0
def test_strict():
    dotter = Dotter(strict=False)
    dotter.add_edge('a', 'b')
    dotter.add_edge('a', 'b')
    expected = ['digraph', ' {', 'gb -> gc', 'gb -> gc']
    assert expected == dotter.commands
コード例 #25
0
ファイル: test_dotter.py プロジェクト: rwarren/dotter
def test_undirected_graph():
    dotter = Dotter(directed=False)
    dotter.add_edge('a', 'b')
    expected = ['graph', ' {', 'gb -- gc']
    assert expected == dotter.commands
コード例 #26
0
ファイル: test_dotter.py プロジェクト: paetzke/dotter
def test_edge_attributes():
    dotter = Dotter(directed=False)
    dotter.add_edge('a', 'b', label='a to b', direction=Directions.Both)
    expected = ['graph', ' {', 'gb -- gc [label="a to b", dir="both"]']
    assert dotter.commands == expected
コード例 #27
0
def test_strict_graph():
    dotter = Dotter(strict=True)
    dotter.add_node('a')
    expected = [' strict ', 'digraph', ' {', 'gb', 'gb [label="a"]']
    assert dotter.commands == expected
コード例 #28
0
def test_set_position_wrong_program():
    dotter = Dotter()
    dotter.add_node('a')
    with raises(Warning):
        dotter.set_position('a', 5, 4)
コード例 #29
0
def test_dotter_str():
    dotter = Dotter(strict=True, output_to_file=False, output_type='svg')
    dotter.add_node('a')
    dotter.close()
    expected = ' strict \ndigraph\n {\ngb\ngb [label="a"]\n}'
    assert str(dotter) == expected
コード例 #30
0
def test_output_to_file():
    dotter = Dotter(output_filename='test.pdf')
    expected = ['dot', '-o', 'test.pdf', '-Tpdf']
    assert dotter.args == expected
コード例 #31
0
ファイル: test_dotter.py プロジェクト: rwarren/dotter
def test_strict_graph():
    dotter = Dotter(strict=True)
    dotter.add_node('a')
    expected = [' strict ', 'digraph', ' {', 'gb', 'gb [label="a"]']
    assert dotter.commands == expected