MCPcopy Create free account
hub / github.com/DeepRec-AI/DeepRec / TEST

Function TEST

tensorflow/core/grappler/utils/graph_view_test.cc:202–239  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

200}
201
202TEST(MutableGraphViewTest, DedupControlDependencies) {
203 GraphDef graph = GDef(
204 {NDef("a", kNoOp, {}), NDef("b", kNoOp, {}), NDef("c", kNoOp, {}),
205 NDef("d", kNoOp, {"a:2", "b:1", "^c", "^c", "^a", "^a", "^b", "^c"})},
206 /*funcs=*/{});
207
208 Status s;
209 MutableGraphView graph_view(&graph, &s);
210 TF_ASSERT_OK(s);
211 EXPECT_EQ(graph_view.NumNodes(), 4);
212
213 const auto* a_node = graph_view.GetNode("a");
214 ASSERT_NE(a_node, nullptr);
215 const auto* b_node = graph_view.GetNode("b");
216 ASSERT_NE(b_node, nullptr);
217 const auto* c_node = graph_view.GetNode("c");
218 ASSERT_NE(c_node, nullptr);
219 const auto* d_node = graph_view.GetNode("d");
220 ASSERT_NE(d_node, nullptr);
221
222 EXPECT_EQ(d_node->NumRegularFanins(), 2);
223 ASSERT_NE(d_node->node(), nullptr);
224 ASSERT_EQ(d_node->node()->input_size(), 5);
225 EXPECT_EQ(d_node->node()->input(0), "a:2");
226 EXPECT_EQ(d_node->node()->input(1), "b:1");
227 EXPECT_EQ(d_node->node()->input(2), "^c");
228 EXPECT_EQ(d_node->node()->input(3), "^b");
229 EXPECT_EQ(d_node->node()->input(4), "^a");
230 ASSERT_EQ(d_node->NumControllingFanins(), 3);
231 const auto& d_control_fanins = d_node->GetControllingFanins();
232 ASSERT_EQ(d_control_fanins.size(), 3);
233 ASSERT_NE(d_control_fanins[0].node_view(), nullptr);
234 EXPECT_EQ(d_control_fanins[0].node_view()->GetName(), "c");
235 ASSERT_NE(d_control_fanins[1].node_view(), nullptr);
236 EXPECT_EQ(d_control_fanins[1].node_view()->GetName(), "b");
237 ASSERT_NE(d_control_fanins[2].node_view(), nullptr);
238 EXPECT_EQ(d_control_fanins[2].node_view()->GetName(), "a");
239}
240
241template <typename T>
242class TypedNodeViewTest : public ::testing::Test {};

Callers

nothing calls this directly

Calls 12

GDefFunction · 0.85
NDefFunction · 0.85
NumNodesMethod · 0.80
NumRegularFaninsMethod · 0.80
NumControllingFaninsMethod · 0.80
node_viewMethod · 0.80
GetNodeMethod · 0.45
nodeMethod · 0.45
input_sizeMethod · 0.45
inputMethod · 0.45
sizeMethod · 0.45
GetNameMethod · 0.45

Tested by

no test coverage detected