From cd8e633cc850d0c9f1bc16533d5962cdfda16856 Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Fri, 26 Oct 2012 18:03:46 +0200 Subject: add test (currently failing) to detect the logic error reported in bug #1071757 --- tests/test-device.cc | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'tests') diff --git a/tests/test-device.cc b/tests/test-device.cc index 88c43fc..b5fa466 100644 --- a/tests/test-device.cc +++ b/tests/test-device.cc @@ -602,6 +602,22 @@ TEST_F(DeviceTest, ChoosePrimary) set_device_charge_state (b, UP_DEVICE_STATE_CHARGING, 50, 49.0); ASSERT_EQ (b, indicator_power_choose_primary_device(devices)); + /* discharging always comes before charging */ + set_device_charge_state (a, UP_DEVICE_STATE_DISCHARGING, 50, 50.0); + set_device_charge_state (b, UP_DEVICE_STATE_CHARGING, 50, 50.0); + ASSERT_EQ (a, indicator_power_choose_primary_device(devices)); + set_device_charge_state (a, UP_DEVICE_STATE_CHARGING, 50, 50.0); + set_device_charge_state (b, UP_DEVICE_STATE_DISCHARGING, 50, 50.0); + ASSERT_EQ (b, indicator_power_choose_primary_device(devices)); + + /* charging always comes before charged */ + set_device_charge_state (a, UP_DEVICE_STATE_CHARGING, 50, 50.0); + set_device_charge_state (b, UP_DEVICE_STATE_FULLY_CHARGED, 50, 50.0); + ASSERT_EQ (a, indicator_power_choose_primary_device(devices)); + set_device_charge_state (a, UP_DEVICE_STATE_FULLY_CHARGED, 50, 50.0); + set_device_charge_state (b, UP_DEVICE_STATE_CHARGING, 50, 50.0); + ASSERT_EQ (b, indicator_power_choose_primary_device(devices)); + // cleanup g_slist_free_full (devices, g_object_unref); } -- cgit v1.2.3