3 #include <gtest/gtest.h>
4 #include <system_info.h>
5 #include "hw/battery.h"
14 struct battery_device *battery_dev;
15 static bool need_featurecheck = true;
17 class BATTERYHalTest : public testing::Test
24 if (need_featurecheck) {
25 ret = system_info_get_platform_bool(FEATURE_BATTERY, &supported);
26 EXPECT_EQ(SYSTEM_INFO_ERROR_NONE, ret) << "system_info_get_platform_bool failed";
27 need_featurecheck = false;
31 virtual void TearDown()
40 TEST_F(BATTERYHalTest, InitP)
47 ret = hw_get_info(BATTERY_HARDWARE_DEVICE_ID,
48 (const struct hw_info **)&info);
49 EXPECT_EQ(ret, 0) << "Fail to load battery hal (" << ret << ")";
52 cout << "There is no function for info open" << endl;
55 ret = info->open(info, NULL, (struct hw_common**)&battery_dev);
56 EXPECT_EQ(ret, 0) << "Fail to open battery device(" << ret << ")";
59 static void updated_cb(struct battery_info *info, void *data)
64 TEST_F(BATTERYHalTest, RegisterChangedEventP)
71 if (!battery_dev->register_changed_event) {
72 cout << "There is no function for register_changed_event" << endl;
75 ret = battery_dev->register_changed_event(updated_cb, NULL);
76 EXPECT_EQ(ret, 0) << "Fail to register_changed_event (" << ret << ")";
79 TEST_F(BATTERYHalTest, UnregisterChangedEventP)
84 if (!battery_dev->unregister_changed_event) {
85 cout << "There is no function for unregister_changed_event" << endl;
88 battery_dev->unregister_changed_event(updated_cb);
91 TEST_F(BATTERYHalTest, GetCurrentStateP)
98 if (!battery_dev->get_current_state) {
99 cout << "There is no function for get_current_state" << endl;
102 ret = battery_dev->get_current_state(updated_cb, NULL);
103 EXPECT_EQ(ret, 0) << "Fail to get_current_state (" << ret << ")";
106 TEST_F(BATTERYHalTest, DeinitP)
114 cout << "There is no function for info close" << endl;
117 ret = info->close((struct hw_common *)battery_dev);
118 EXPECT_EQ(ret, 0) << "Fail to close battery device(" << ret << ")";
121 int main(int argc, char **argv)
123 testing::InitGoogleTest(&argc, argv);
125 return RUN_ALL_TESTS();