ASSERT_EQ(op->left(), nullptr);
ASSERT_EQ(op->right(), nullptr);
}
+
+/**
+ * Section: Op Helpers
+ */
+namespace
+{
+
+class OpHelperTest : public ::testing::Test
+{
+public:
+ OpHelperTest()
+ {
+ // DO NOTHING
+ }
+
+protected:
+ template <typename Op> Op *allocate(void)
+ {
+ auto op = new Op;
+ _allocated.emplace_back(op);
+ return op;
+ }
+
+protected:
+ coco::ObjectManager obj_mgr;
+
+private:
+ std::vector<std::unique_ptr<coco::Op>> _allocated;
+};
+
+} // namespace
+
+TEST_F(OpHelperTest, root)
+{
+ auto load = allocate<coco::Load>();
+
+ ASSERT_EQ(root(load), load);
+
+ auto avgpool = allocate<coco::AvgPool2D>();
+
+ avgpool->arg(load);
+
+ ASSERT_EQ(root(load), avgpool);
+ ASSERT_EQ(root(avgpool), avgpool);
+}