Exemple #1
0
def test_post_processor(get_bout_run_setup: Callable[[str], BoutRunSetup]) -> None:
    """
    Test the post-processor.

    Parameters
    ----------
    get_bout_run_setup : function
        Function which returns the BoutRunSetup object based on the conduction directory
    """
    bout_run_setup = get_bout_run_setup("test_run_group_post")
    run_graph = RunGraph()
    run_graph.add_function_node("1")
    run_group_post = RunGroup(
        run_graph, bout_run_setup, name="test_post", waiting_for="1"
    )

    run_group_post.add_post_processor(
        {"function": lambda: None, "args": None, "kwargs": None}
    )
    run_group_post.add_post_processor(
        {"function": lambda: None, "args": None, "kwargs": None}
    )

    expected = (
        "1",
        "bout_run_test_post",
        "post_processor_test_post_0",
        "post_processor_test_post_1",
    )
    assert set(expected) == set(run_graph.get_waiting_for_tuple("1"))
Exemple #2
0
def test_constructor(get_bout_run_setup: Callable[[str], BoutRunSetup]) -> None:
    """
    Test the constructor.

    Parameters
    ----------
    get_bout_run_setup : function
        Function which returns the BoutRunSetup object based on the conduction directory
    """
    bout_run_setup = get_bout_run_setup("test_run_group_constructor")
    run_graph = RunGraph()
    run_graph.add_function_node("1")

    run_group_0 = RunGroup(run_graph, bout_run_setup)
    run_number_first_run = int(run_group_0.bout_run_node_name.split("_")[-1])
    assert run_group_0.bout_run_node_name == f"bout_run_{run_number_first_run}"

    run_group_test = RunGroup(run_graph, bout_run_setup, name="test")
    assert run_group_test.bout_run_node_name == "bout_run_test"

    run_group_1 = RunGroup(run_graph, bout_run_setup, waiting_for="1")
    run_number_second_run = int(run_group_1.bout_run_node_name.split("_")[-1])

    assert run_number_second_run > run_number_first_run
    assert run_group_1.bout_run_node_name == f"bout_run_{run_number_second_run}"

    expected = (
        "1",
        f"bout_run_{run_number_second_run}",
    )
    assert expected == run_graph.get_waiting_for_tuple("1")
Exemple #3
0
def test_add_waiting_for() -> None:
    """Test the ability to let a node wait for other nodes."""
    run_graph = RunGraph()
    run_graph.add_function_node("1")
    run_graph.add_function_node("2")
    run_graph.add_function_node("3")

    run_graph.add_waiting_for("2", "1")
    run_graph.add_waiting_for("3", ("2", "1"))

    expected = ("1", "2", "3")

    assert expected == run_graph.get_waiting_for_tuple("1")