MCPcopy Create free account
hub / github.com/baidu/babylon / AddProcessor

Class AddProcessor

test/anyflow/test_processor.cpp:73–140  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

71bool MockProcessor::reset_called = false;
72
73struct AddProcessor : public GraphProcessor {
74 virtual int process() noexcept override {
75 *x.emit() = ::std::to_string((a == nullptr ? 100 : *a) + *b + *c);
76 return 0;
77 }
78
79 ANYFLOW_INTERFACE(ANYFLOW_DEPEND_DATA(int32_t, a, 0)
80 ANYFLOW_DEPEND_DATA(int32_t, b, 1)
81 ANYFLOW_DEPEND_DATA(int32_t, c)
82 ANYFLOW_EMIT_DATA(::std::string, x))
83};
84
85struct ProcessorTest : public ::testing::Test {
86 virtual void SetUp() override {
87 {
88 auto& vertex = builder.add_vertex([] {
89 return ::std::unique_ptr<AddProcessor>(new AddProcessor);
90 });
91 vertex.named_depend("a").to("A");
92 vertex.named_depend("b").to("B");
93 vertex.named_depend("c").to("C");
94 vertex.named_emit("x").to("D");
95 }
96 executor.initialize(4, 128);
97 builder.set_executor(executor);
98 builder.finish();
99 graph = builder.build();
100 a = graph->find_data("A");
101 b = graph->find_data("B");
102 c = graph->find_data("C");
103 d = graph->find_data("D");
104
105 MockProcessor::config_called = false;
106 MockProcessor::option_append = "";
107 MockProcessor::config_return = 0;
108
109 MockProcessor::setup_called = false;
110 MockProcessor::option_effect = "";
111 MockProcessor::setup_return = 0;
112
113 MockProcessor::process_called = false;
114 MockProcessor::process_return = 0;
115
116 MockProcessor::reset_called = false;
117 }
118
119 ThreadPoolGraphExecutor executor;
120 GraphBuilder builder;
121 ::std::unique_ptr<Graph> graph;
122 GraphData* a;
123 GraphData* b;
124 GraphData* c;
125 GraphData* d;
126};
127
128TEST_F(ProcessorTest, config_when_finish) {
129 GraphBuilder builder;
130 builder

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected