示例#1
0
    def test_parallel_evaluation_is_correct(graph, thread_pool_executor):
        res = evaluate(graph.output, args={graph.input: "input_value"}, executor=thread_pool_executor)

        assert res[0] == "op0_return_value"
        assert res[1] == "op1_return_value"

        graph.output[0].op._run.assert_called_once_with(arg="input_value")
        graph.output[1].op._run.assert_called_once_with("input_value", arg1="op0_return_value")
示例#2
0
    def test_sequential_evaluation_is_correct(graph):
        res = evaluate(graph.output, args={graph.input: "input_value"})

        assert res[0] == "op0_return_value"
        assert res[1] == "op1_return_value"

        graph.output[0].op._run.assert_called_once_with(arg="input_value")
        graph.output[1].op._run.assert_called_once_with("input_value", arg1="op0_return_value")
示例#3
0
    def test_evaluation_is_lazy(graph):
        res = evaluate([graph.output[0]], args={graph.input: "input_value"})
        operation = graph.output[1].op

        assert res[0] == "op0_return_value"
        assert not operation._run.called
示例#4
0
    def test_solve_is_lazy(graph):
        _ = evaluate([graph.output[0]], args={graph.input: "input_value"})
        operation = graph.output[1].op

        assert not operation._run.called
示例#5
0
    def test_exception_is_reraised(graph_raising):
        with pytest.raises(RuntimeError) as err:
            _ = evaluate([graph_raising.output[0]], args={graph_raising.input: 0})

            assert hasattr(err, "__cause__")
示例#6
0
    def test_no_deprecation_if_evaluating_with_complete_arguments(graph):
        with pytest.warns(None) as record:
            _ = evaluate([graph.output[0]], args={graph.input: 0})

        assert len(record) == 0
示例#7
0
 def test_deprecation_if_evaluating_with_incomplete_arguments(graph):
     with pytest.deprecated_call():
         _ = evaluate([graph.output[0]], args={})