[coco Use ObjectManager inside Instr tests (#827)
author박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 <jh1302.park@samsung.com>
Thu, 26 Jul 2018 04:27:28 +0000 (13:27 +0900)
committerGitHub Enterprise <noreply-CODE@samsung.com>
Thu, 26 Jul 2018 04:27:28 +0000 (13:27 +0900)
This commit revises Instr tests to use ObjectManager when it create an
Object instrance for testing.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
contrib/coco/core/src/IR/Instr.test.cpp

index d7e88df..65ed6c9 100644 (file)
@@ -1,4 +1,5 @@
 #include "coco/IR/Instr.h"
+#include "coco/IR/ObjectManager.h"
 
 #include <gtest/gtest.h>
 
@@ -24,24 +25,36 @@ TEST(IR_FEATURE_INSTR, ctor)
 
 TEST(IR_FEATURE_INSTR, ifm_update)
 {
+  // Prepare a feature object for testing
+  coco::PtrLink<coco::Bag, coco::BagInfo> bag_link;
+  coco::ObjectManager obj_mgr{&bag_link};
+
+  auto obj = obj_mgr.create(nncc::core::ADT::feature::Shape{1, 3, 3});
+
+  // Test 'FeatureInstr' class
   coco::PtrLink<coco::Instr, coco::Block> link;
   coco::FeatureInstr ins{&link};
-  coco::FeatureObject obj{nncc::core::ADT::feature::Shape{1, 3, 3}};
 
   // 'ifm(FeatureObject *)' method should affect 'ifm()' method
-  ins.ifm(&obj);
-  ASSERT_EQ(ins.ifm(), &obj);
+  ins.ifm(obj);
+  ASSERT_EQ(ins.ifm(), obj);
 }
 
 TEST(IR_FEATURE_INSTR, ofm_update)
 {
+  // Prepare a feature object for testing
+  coco::PtrLink<coco::Bag, coco::BagInfo> bag_link;
+  coco::ObjectManager obj_mgr{&bag_link};
+
+  auto obj = obj_mgr.create(nncc::core::ADT::feature::Shape{1, 3, 3});
+
+  // Test 'FeatureInstr' class
   coco::PtrLink<coco::Instr, coco::Block> link;
   coco::FeatureInstr ins{&link};
-  coco::FeatureObject obj{nncc::core::ADT::feature::Shape{1, 3, 3}};
 
   // 'ofm(FeatureObject *)' method should affect 'ofm()' method
-  ins.ofm(&obj);
-  ASSERT_EQ(ins.ofm(), &obj);
+  ins.ofm(obj);
+  ASSERT_EQ(ins.ofm(), obj);
 }
 
 #include "coco/IR/Op.h"