3 #include <gtest/gtest.h>
5 #include "hw/battery.h"
12 struct battery_device *battery_dev;
14 class BATTERYHalTest : public testing::Test
21 ret = hw_get_info(BATTERY_HARDWARE_DEVICE_ID,
22 (const struct hw_info **)&info);
25 cout << "Fail to load battery hal(" << ret << ")" << endl;
30 cout << "Failed to open battery device; open(NULL)" << endl;
35 ret = info->open(info, NULL, (struct hw_common**)&battery_dev);
36 if (ret < 0 || !battery_dev) {
37 cout << "Failed to get battery device structure (" << ret << ")" << endl;
45 virtual void TearDown()
49 info = battery_dev->common.info;
53 info->close((struct hw_common *)battery_dev);
63 TEST_F(BATTERYHalTest, InitP)
65 EXPECT_NE(battery_dev, nullptr);
68 TEST_F(BATTERYHalTest, DeinitP)
70 struct battery_device *tmp;
74 hw_get_info(BATTERY_HARDWARE_DEVICE_ID,
75 (const struct hw_info **)&info);
77 EXPECT_NE(info, nullptr);
78 if (!info->open || !info->close)
80 info->open(info, NULL, (struct hw_common**)&tmp);
82 ret = info->close((struct hw_common *)tmp);
86 static void updated_cb(struct battery_info *info, void *data)
90 TEST_F(BATTERYHalTest, RegisterChangedEventP)
94 EXPECT_NE(battery_dev, nullptr);
95 if (!battery_dev->register_changed_event)
97 ret = battery_dev->register_changed_event(updated_cb, NULL);
98 battery_dev->unregister_changed_event(updated_cb);
102 TEST_F(BATTERYHalTest, UnregisterChangedEventP)
104 EXPECT_NE(battery_dev, nullptr);
105 if (!battery_dev->unregister_changed_event)
107 battery_dev->register_changed_event(updated_cb, NULL);
108 battery_dev->unregister_changed_event(updated_cb);
111 TEST_F(BATTERYHalTest, GetCurrentStateP)
115 EXPECT_NE(battery_dev, nullptr);
116 if (!battery_dev->get_current_state)
118 ret = battery_dev->get_current_state(updated_cb, NULL);
122 int main(int argc, char **argv)
124 testing::InitGoogleTest(&argc, argv);
126 return RUN_ALL_TESTS();