#include #include #include "hw/common.h" #include "hw/ir.h" using namespace std; /* * main class */ struct ir_device *ir_dev; class IRHalTest : public testing::Test { public: virtual void SetUp() { struct hw_info *info; int ret; ret = hw_get_info(IR_HARDWARE_DEVICE_ID, (const struct hw_info **)&info); if (ret < 0) { cout << "Fail to load ir hal(" << ret << ")" << endl; assert(true); return; } if (!info->open) { cout << "Failed to open ir device; open(NULL)" << endl; assert(true); return; } ret = info->open(info, NULL, (struct hw_common**)&ir_dev); if (ret < 0 || !ir_dev) { cout << "Failed to get ir device structure (" << ret << ")" << endl; assert(true); return; } return; } virtual void TearDown() { struct hw_info *info; info = ir_dev->common.info; if (!info) free(ir_dev); else info->close((struct hw_common *)ir_dev); ir_dev = NULL; return; } }; /* * testcase */ TEST_F(IRHalTest, InitP) { EXPECT_NE(ir_dev, nullptr); } TEST_F(IRHalTest, DeinitP) { struct ir_device *tmp; struct hw_info *info; int ret; hw_get_info(IR_HARDWARE_DEVICE_ID, (const struct hw_info **)&info); EXPECT_NE(info, nullptr); EXPECT_NE(info->open, nullptr); info->open(info, NULL, (struct hw_common**)&tmp); ret = info->close((struct hw_common *)tmp); EXPECT_EQ(ret, 0); } TEST_F(IRHalTest, IsAvailableP) { bool val; EXPECT_NE(ir_dev, nullptr); ir_dev->is_available(&val); } TEST_F(IRHalTest, TransmitP) { int pattern[5] = {100, 200, 300, 400, 500}; EXPECT_NE(ir_dev, nullptr); ir_dev->transmit(pattern, 5); } int main(int argc, char **argv) { testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); }