Esempio n. 1
0
def test_variables_dict():
    assert all([
        isinstance(var, attr.Attribute)
        for var in utils.variables_dict(ExampleProcess).values()
    ])

    assert "other_attrib" not in utils.variables_dict(ExampleProcess)
Esempio n. 2
0
def test_to_graphviz(model):
    g = to_graphviz(model)
    actual_nodes = _get_graph_nodes(g)
    actual_edges = _get_graph_edges(g)
    expected_nodes = list(model)
    expected_edges = [(dep_p_name, p_name)
                      for p_name, p_deps in model.dependent_processes.items()
                      for dep_p_name in p_deps]
    assert sorted(actual_nodes) == sorted(expected_nodes)
    assert set(actual_edges) == set(expected_edges)

    g = to_graphviz(model, show_inputs=True)
    actual_nodes = _get_graph_nodes(g)
    actual_edges = _get_graph_edges(g)
    expected_nodes += [var_name for _, var_name in model.input_vars]
    expected_edges += [
        (_hash_variable(variables_dict(type(model[p_name]))[var_name]), p_name)
        for p_name, var_name in model.input_vars
    ]
    assert sorted(actual_nodes) == sorted(expected_nodes)
    assert set(actual_edges) == set(expected_edges)

    g = to_graphviz(model, show_variables=True)
    actual_nodes = _get_graph_nodes(g)
    expected_nodes = list(model) + [var_name for _, var_name in model.all_vars]
    assert sorted(actual_nodes) == sorted(expected_nodes)

    g = to_graphviz(model, show_only_variable=("profile", "u"))
    actual_nodes = _get_graph_nodes(g)
    expected_nodes = list(model) + ["u"] * 3
    assert sorted(actual_nodes) == sorted(expected_nodes)
Esempio n. 3
0
def test_get_target_variable(var_name, expected_cls, expected_var_name):
    _ExampleProcess = get_process_cls(ExampleProcess)
    expected_p_cls = get_process_cls(expected_cls)

    var = variables_dict(_ExampleProcess)[var_name]
    expected_var = variables_dict(expected_p_cls)[expected_var_name]

    actual_cls, actual_var = get_target_variable(var)

    if expected_p_cls is _ExampleProcess:
        assert actual_cls is None
    else:
        actual_p_cls = get_process_cls(actual_cls)
        assert actual_p_cls is expected_p_cls

    assert actual_var is expected_var