@@ -161,8 +161,8 @@ async def test_handle_state_update_sets_native_value_and_calls_helpers(
161161 # Ensure extended attribute logic is triggered and show_time path exercised
162162 updater = make_updater (mock_hass , mock_config_entry , sensor )
163163 # Sensor reports extended attrs enabled and show_time enabled
164- sensor .get_attr .side_effect = (
165- lambda k : True
164+ sensor .get_attr .side_effect = lambda k : (
165+ True
166166 if k in (CONF_EXTENDED_ATTR , CONF_SHOW_TIME )
167167 else "TestSensor"
168168 if k == CONF_NAME
@@ -221,11 +221,11 @@ async def test_update_previous_state_variants(
221221 sensor .get_attr_safe_str .side_effect = lambda k : "TestVal" if k == ATTR_NATIVE_VALUE else ""
222222 else :
223223 sensor .is_attr_blank .side_effect = lambda k : k == ATTR_NATIVE_VALUE
224- sensor .get_attr .side_effect = (
225- lambda k : "PrevStateValue" if k == ATTR_PREVIOUS_STATE else False
224+ sensor .get_attr .side_effect = lambda k : (
225+ "PrevStateValue" if k == ATTR_PREVIOUS_STATE else False
226226 )
227- sensor .get_attr_safe_str .side_effect = (
228- lambda k : "PrevStateValue" if k in [ATTR_NATIVE_VALUE , ATTR_PREVIOUS_STATE ] else ""
227+ sensor .get_attr_safe_str .side_effect = lambda k : (
228+ "PrevStateValue" if k in [ATTR_NATIVE_VALUE , ATTR_PREVIOUS_STATE ] else ""
229229 )
230230
231231 await updater .update_previous_state ()
@@ -327,9 +327,13 @@ async def test_get_gps_accuracy_variants(
327327 sensor .attrs [CONF_USE_GPS ] = use_gps
328328
329329 # is_attr_blank should evaluate based on actual attrs
330- sensor .is_attr_blank .side_effect = lambda k : k not in sensor .attrs or sensor .attrs .get (k ) in (
331- None ,
332- "" ,
330+ sensor .is_attr_blank .side_effect = lambda k : (
331+ k not in sensor .attrs
332+ or sensor .attrs .get (k )
333+ in (
334+ None ,
335+ "" ,
336+ )
333337 )
334338
335339 result = await updater .get_gps_accuracy ()
@@ -412,9 +416,9 @@ async def test_get_initial_last_place_name_param(
412416 sensor .get_attr_safe_str .__setattr__ (
413417 "side_effect" ,
414418 (
415- lambda k : "home"
416- if k == ATTR_DEVICETRACKER_ZONE_NAME
417- else "device_tracker.test"
419+ lambda k : (
420+ "home" if k == ATTR_DEVICETRACKER_ZONE_NAME else "device_tracker.test"
421+ )
418422 ),
419423 ),
420424 sensor .get_attr .__setattr__ (
@@ -458,11 +462,13 @@ async def test_get_initial_last_place_name_param(
458462 mock_hass .states .get .__setattr__ (
459463 "side_effect" ,
460464 (
461- lambda eid : MagicMock (attributes = {CONF_ZONE : "home" })
462- if eid == "device_tracker.test"
463- else MagicMock (attributes = {CONF_FRIENDLY_NAME : "Home Zone" })
464- if eid == "zone.home"
465- else None
465+ lambda eid : (
466+ MagicMock (attributes = {CONF_ZONE : "home" })
467+ if eid == "device_tracker.test"
468+ else MagicMock (attributes = {CONF_FRIENDLY_NAME : "Home Zone" })
469+ if eid == "zone.home"
470+ else None
471+ )
466472 ),
467473 ),
468474 ),
@@ -484,9 +490,11 @@ async def test_get_initial_last_place_name_param(
484490 mock_hass .states .get .__setattr__ (
485491 "side_effect" ,
486492 (
487- lambda eid : MagicMock (attributes = {CONF_ZONE : "home" })
488- if eid == "device_tracker.test"
489- else None
493+ lambda eid : (
494+ MagicMock (attributes = {CONF_ZONE : "home" })
495+ if eid == "device_tracker.test"
496+ else None
497+ )
490498 ),
491499 ),
492500 ),
@@ -564,16 +572,12 @@ async def test_get_map_link_providers_all(mock_hass, mock_config_entry, sensor,
564572 if provider == "osm" :
565573 # OSM needs lat/lon floats
566574 sensor .get_attr .side_effect = lambda k : "osm" if k == CONF_MAP_PROVIDER else 10
567- sensor .get_attr_safe_float .side_effect = (
568- lambda k : 1.23456789 if k == ATTR_LATITUDE else 9.87654321
575+ sensor .get_attr_safe_float .side_effect = lambda k : (
576+ 1.23456789 if k == ATTR_LATITUDE else 9.87654321
569577 )
570578 else :
571- sensor .get_attr .side_effect = (
572- lambda k : provider
573- if k == CONF_MAP_PROVIDER
574- else "loc"
575- if k == ATTR_LOCATION_CURRENT
576- else 10
579+ sensor .get_attr .side_effect = lambda k : (
580+ provider if k == CONF_MAP_PROVIDER else "loc" if k == ATTR_LOCATION_CURRENT else 10
577581 )
578582 await updater .get_map_link ()
579583 assert_map_link_set (sensor )
@@ -602,12 +606,8 @@ async def test_should_update_state_param(
602606 """Parametrized test for `should_update_state` for differing and equal values."""
603607 updater = make_updater (mock_hass , mock_config_entry , sensor )
604608 sensor .is_attr_blank .side_effect = lambda k : False
605- sensor .get_attr_safe_str .side_effect = (
606- lambda k : prev_val
607- if k == ATTR_PREVIOUS_STATE
608- else native_val
609- if k == ATTR_NATIVE_VALUE
610- else ""
609+ sensor .get_attr_safe_str .side_effect = lambda k : (
610+ prev_val if k == ATTR_PREVIOUS_STATE else native_val if k == ATTR_NATIVE_VALUE else ""
611611 )
612612 sensor .get_attr .side_effect = lambda k : False
613613 result = await updater .should_update_state (datetime .now ())
@@ -643,8 +643,8 @@ async def test_build_osm_url_returns_url(mock_hass, mock_config_entry, sensor):
643643 """Test that `build_osm_url` constructs a valid OpenStreetMap reverse geocoding URL using sensor attributes."""
644644 updater = make_updater (mock_hass , mock_config_entry , sensor )
645645 sensor .get_attr_safe_float .side_effect = lambda k : 1.0
646- sensor .get_attr .side_effect = (
647- lambda k : "en" if k == CONF_LANGUAGE else "apikey" if k == CONF_API_KEY else 18
646+ sensor .get_attr .side_effect = lambda k : (
647+ "en" if k == CONF_LANGUAGE else "apikey" if k == CONF_API_KEY else 18
648648 )
649649 url = await updater .build_osm_url ()
650650 assert url .startswith ("https://nominatim.openstreetmap.org/reverse?format=json" )
@@ -846,15 +846,15 @@ async def test_change_show_time_to_date_param(mock_hass, mock_config_entry, sens
846846 """Parametrized test for change_show_time_to_date handling both dd/mm and mm/dd formats."""
847847 updater = make_updater (mock_hass , mock_config_entry , sensor )
848848 sensor .is_attr_blank .side_effect = lambda k : False
849- sensor .get_attr .side_effect = (
850- lambda k : True
849+ sensor .get_attr .side_effect = lambda k : (
850+ True
851851 if k == CONF_SHOW_TIME
852852 else date_format
853853 if k == CONF_DATE_FORMAT
854854 else "2024-01-01 12:00:00"
855855 )
856- sensor .get_attr_safe_str .side_effect = (
857- lambda k : "2024-01-01 12:00:00" if k == ATTR_LAST_CHANGED else "TestState"
856+ sensor .get_attr_safe_str .side_effect = lambda k : (
857+ "2024-01-01 12:00:00" if k == ATTR_LAST_CHANGED else "TestState"
858858 )
859859 await updater .change_show_time_to_date ()
860860 assert sensor .native_value is not None
@@ -1130,9 +1130,13 @@ async def test_get_gps_accuracy_zero_accuracy_skip(mock_hass, mock_config_entry,
11301130 sensor .attrs [CONF_DEVICETRACKER_ID ] = "device_tracker.test"
11311131 sensor .attrs [CONF_USE_GPS ] = True
11321132 # is_attr_blank should evaluate based on actual attrs (don't force False globally)
1133- sensor .is_attr_blank .side_effect = lambda k : k not in sensor .attrs or sensor .attrs .get (k ) in (
1134- None ,
1135- "" ,
1133+ sensor .is_attr_blank .side_effect = lambda k : (
1134+ k not in sensor .attrs
1135+ or sensor .attrs .get (k )
1136+ in (
1137+ None ,
1138+ "" ,
1139+ )
11361140 )
11371141 result = await updater .get_gps_accuracy ()
11381142 assert result == UpdateStatus .SKIP
@@ -1281,8 +1285,8 @@ async def test_get_extended_attr_unknown_type(mock_hass, mock_config_entry, capl
12811285 updater = make_updater (mock_hass , mock_config_entry , sensor )
12821286 sensor .is_attr_blank .side_effect = lambda k : False
12831287 sensor .get_attr_safe_str .side_effect = lambda k : "foo"
1284- sensor .get_attr .side_effect = (
1285- lambda k : "123" if k == ATTR_OSM_ID else "foo" if k == ATTR_OSM_TYPE else None
1288+ sensor .get_attr .side_effect = lambda k : (
1289+ "123" if k == ATTR_OSM_ID else "foo" if k == ATTR_OSM_TYPE else None
12861290 )
12871291 await updater .get_extended_attr ()
12881292 assert any ("Unknown OSM type" in r .message for r in caplog .records )
@@ -1310,8 +1314,8 @@ async def test_get_extended_attr_variants(
13101314 updater = make_updater (mock_hass , mock_config_entry , sensor )
13111315 sensor .is_attr_blank .side_effect = lambda k : False
13121316 sensor .get_attr_safe_str .side_effect = lambda k : osm_type
1313- sensor .get_attr .side_effect = (
1314- lambda k : "12345"
1317+ sensor .get_attr .side_effect = lambda k : (
1318+ "12345"
13151319 if k == ATTR_OSM_ID
13161320 else osm_type
13171321 if k == ATTR_OSM_TYPE
@@ -1469,15 +1473,11 @@ async def test_determine_if_update_needed_variants(
14691473 if expected == UpdateStatus .PROCEED :
14701474 sensor .get_attr .side_effect = lambda k : False
14711475 sensor .is_attr_blank .return_value = False
1472- sensor .get_attr_safe_str .side_effect = (
1473- lambda k : cur
1474- if k == ATTR_LOCATION_CURRENT
1475- else prev_loc
1476- if k == ATTR_LOCATION_PREVIOUS
1477- else ""
1476+ sensor .get_attr_safe_str .side_effect = lambda k : (
1477+ cur if k == ATTR_LOCATION_CURRENT else prev_loc if k == ATTR_LOCATION_PREVIOUS else ""
14781478 )
1479- sensor .get_attr_safe_float .side_effect = (
1480- lambda k : distance if k == ATTR_DISTANCE_TRAVELED_M else 0
1479+ sensor .get_attr_safe_float .side_effect = lambda k : (
1480+ distance if k == ATTR_DISTANCE_TRAVELED_M else 0
14811481 )
14821482 result = await updater .determine_if_update_needed ()
14831483 assert result == expected
@@ -1508,15 +1508,15 @@ async def test_determine_direction_of_travel_param(
15081508 updater = make_updater (mock_hass , mock_config_entry , sensor )
15091509 if has_last_distance is not None :
15101510 sensor .attrs [ATTR_DISTANCE_TRAVELED_M ] = has_last_distance
1511- sensor .get_attr_safe_float .side_effect = (
1512- lambda k : reported_distance if k == ATTR_DISTANCE_FROM_HOME_M else 0
1511+ sensor .get_attr_safe_float .side_effect = lambda k : (
1512+ reported_distance if k == ATTR_DISTANCE_FROM_HOME_M else 0
15131513 )
15141514 # If a previous travel distance exists, emulate is_attr_blank behavior accordingly
15151515 if expected == "towards home" :
15161516 # Match original single-case test: explicit side effects
15171517 sensor .is_attr_blank .side_effect = lambda k : False
1518- sensor .get_attr_safe_float .side_effect = (
1519- lambda k : 500.0 if k == ATTR_DISTANCE_FROM_HOME_M else 1000.0
1518+ sensor .get_attr_safe_float .side_effect = lambda k : (
1519+ 500.0 if k == ATTR_DISTANCE_FROM_HOME_M else 1000.0
15201520 )
15211521 elif has_last_distance is not None :
15221522 sensor .is_attr_blank .side_effect = lambda k : k not in sensor .attrs
@@ -1554,9 +1554,13 @@ async def test_is_tracker_available_valid(mock_hass, mock_config_entry, sensor):
15541554 updater = make_updater (mock_hass , mock_config_entry , sensor )
15551555 # Provide tracker id in attrs and let default get_attr work
15561556 sensor .attrs [CONF_DEVICETRACKER_ID ] = "device_tracker.test"
1557- sensor .is_attr_blank .side_effect = lambda k : k not in sensor .attrs or sensor .attrs .get (k ) in (
1558- None ,
1559- "" ,
1557+ sensor .is_attr_blank .side_effect = lambda k : (
1558+ k not in sensor .attrs
1559+ or sensor .attrs .get (k )
1560+ in (
1561+ None ,
1562+ "" ,
1563+ )
15601564 )
15611565 state = MagicMock ()
15621566 state .attributes = {}
0 commit comments