def test_dataflow_state_is_valid():
    df = DataFlow()
    vid1 = df.add_vertex()
    pid10 = df.add_in_port(vid1, "in")
    pid11 = df.add_out_port(vid1, "out")
    vid2 = df.add_vertex()
    pid21 = df.add_out_port(vid2, "out")

    vid3 = df.add_vertex()
    pid31 = df.add_in_port(vid3, "in1")
    pid32 = df.add_in_port(vid3, "in2")
    pid33 = df.add_out_port(vid3, "res")

    vid4 = df.add_vertex()
    pid41 = df.add_in_port(vid4, "in")

    df.connect(pid11, pid31)
    df.connect(pid21, pid32)
    df.connect(pid33, pid41)

    dfs = DataflowState(df)

    assert not dfs.is_valid()

    dfs.set_data(pid10, 0)

    assert not dfs.is_valid()

    dfs.clear()
    for i, pid in enumerate([pid11, pid21, pid33]):
        dfs.set_data(pid, i)
        assert not dfs.is_valid()

    dfs.set_data(pid10, 'a')
    assert dfs.is_valid()
示例#2
0
def test_dataflow_state_is_valid():
    df = DataFlow()
    vid1 = df.add_vertex()
    pid10 = df.add_in_port(vid1, "in")
    pid11 = df.add_out_port(vid1, "out")
    vid2 = df.add_vertex()
    pid21 = df.add_out_port(vid2, "out")

    vid3 = df.add_vertex()
    pid31 = df.add_in_port(vid3, "in1")
    pid32 = df.add_in_port(vid3, "in2")
    pid33 = df.add_out_port(vid3, "res")

    vid4 = df.add_vertex()
    pid41 = df.add_in_port(vid4, "in")

    df.connect(pid11, pid31)
    df.connect(pid21, pid32)
    df.connect(pid33, pid41)

    dfs = DataflowState(df)

    assert not dfs.is_valid()

    dfs.set_data(pid10, 0)

    assert not dfs.is_valid()

    dfs.clear()
    for i, pid in enumerate([pid11, pid21, pid33]):
        dfs.set_data(pid, i)
        assert not dfs.is_valid()

    dfs.set_data(pid10, 'a')
    assert dfs.is_valid()
示例#3
0
def test_dataflow_evaluation_eval_no_vid():
    df, (pid_in, pid_out) = get_dataflow()
    algo = BruteEvaluation(df)

    env = 0
    dfs = DataflowState(df)
    dfs.set_data(pid_in, 1)

    assert not dfs.is_valid()
    algo.eval(env, dfs)
    assert dfs.is_valid()
def test_dataflow_evaluation_eval_no_vid():
    df, (pid_in, pid_out) = get_dataflow()
    algo = BruteEvaluation(df)

    env = 0
    dfs = DataflowState(df)
    dfs.set_data(pid_in, 1)

    assert not dfs.is_valid()
    algo.eval(env, dfs)
    assert dfs.is_valid()
示例#5
0
def test_dataflow_evaluation_eval_no_vid2():
    df = DataFlow()
    vid0 = df.add_vertex()
    pid0 = df.add_in_port(vid0, "in")
    df.add_out_port(vid0, "out")
    vid1 = df.add_vertex()
    pid1 = df.add_in_port(vid1, "in")
    df.add_out_port(vid1, "out")

    df.set_actor(vid0, FuncNode({}, {}, int))
    df.set_actor(vid1, FuncNode({}, {}, int))

    dfs = DataflowState(df)
    env = 0
    algo = BruteEvaluation(df)

    dfs.set_data(pid0, 0)
    dfs.set_data(pid1, 1)

    assert not dfs.is_valid()
    algo.eval(env, dfs)
    assert dfs.is_valid()
def test_dataflow_evaluation_eval_no_vid2():
    df = DataFlow()
    vid0 = df.add_vertex()
    pid0 = df.add_in_port(vid0, "in")
    df.add_out_port(vid0, "out")
    vid1 = df.add_vertex()
    pid1 = df.add_in_port(vid1, "in")
    df.add_out_port(vid1, "out")

    df.set_actor(vid0, FuncNode({}, {}, int))
    df.set_actor(vid1, FuncNode({}, {}, int))

    dfs = DataflowState(df)
    env = 0
    algo = BruteEvaluation(df)

    dfs.set_data(pid0, 0)
    dfs.set_data(pid1, 1)

    assert not dfs.is_valid()
    algo.eval(env, dfs)
    assert dfs.is_valid()