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()
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_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()