Update tests/test_utils_snapshot.py
Run CI Tests / test (push) Successful in 32s

This commit is contained in:
2025-07-30 01:20:22 +02:00
parent 9ffe1f6ae3
commit 3c525c85f7
+21 -26
View File
@@ -32,18 +32,17 @@ def test_snapshot_excludes_internal_by_default():
visible = FakeAdjustable("visible", internal=False)
hidden = FakeAdjustable("internal", internal=True)
with patch.object(registry, "instances", return_value=[visible, hidden]):
with patch('slic.utils.registry.instances', return_value=[visible, hidden]):
result = snapshot()
assert visible in result
assert hidden not in result
def test_snapshot_include_internal_flag():
visible = FakeAdjustable("visible", internal=False)
hidden = FakeAdjustable("internal", internal=True)
with patch.object(registry, "instances", return_value=[visible, hidden]):
with patch('slic.utils.registry.instances', return_value=[visible, hidden]):
result = snapshot(include_internal=True)
assert visible in result
assert hidden in result
@@ -51,7 +50,7 @@ def test_snapshot_include_internal_flag():
def test_snapshot_empty_result():
with patch.object(registry, "instances", return_value=[]):
with patch('slic.utils.registry.instances', return_value=[]):
result = snapshot()
assert isinstance(result, list)
assert result == []
@@ -59,30 +58,26 @@ def test_snapshot_empty_result():
# Sort key tests
@pytest.mark.parametrize("sort_key, expected_order", [
# Sorted by __repr__ values: repr = <Adjustable B>, <Adjustable C>, <Adjustable A>
(repr, ["B", "C", "A"]),
# Sorted by __str__ values: str = "Beta", "Charlie", "Alpha"
(str, ["B", "C", "A"]),
# Sorted by ID: "id1", "id2", "id3"
(lambda a: a.ID, ["A", "C", "B"]),
# Sorted by lowercase name: "alpha", "beta", "charlie"
(lambda a: a.name.lower(), ["A", "B", "C"]),
(repr, ["Alpha", "Beta", "Charlie"]), # Modifié pour utiliser les vrais noms
(str, ["Alpha", "Beta", "Charlie"]),
(lambda a: a.ID, ["id1", "id2", "id3"]),
(lambda a: a.name.lower(), ["Alpha", "Beta", "Charlie"]),
])
def test_snapshot_sort_keys(sort_key, expected_order):
a = FakeAdjustable("id3", name="Alpha")
b = FakeAdjustable("id1", name="Beta")
c = FakeAdjustable("id2", name="Charlie")
a = FakeAdjustable("id3", name="Alpha") # __str__ = "Alpha", __repr__ = <Adjustable Alpha>
b = FakeAdjustable("id1", name="Beta") # __str__ = "Beta", __repr__ = <Adjustable Beta>
c = FakeAdjustable("id2", name="Charlie") # __str__ = "Charlie", __repr__ = <Adjustable Charlie>
unordered = [c, a, b]
# Map from name to object so we can extract expected IDs later
name_to_obj = {adj.name: adj for adj in [a, b, c]}
unordered = [c, a, b] # intentionally unsorted
with patch.object(registry, "instances", return_value=unordered):
with patch('slic.utils.registry.instances', return_value=unordered):
result = snapshot(sort_key=sort_key)
# We check that the objects returned match the expected names (using original mapping)
result_names = [adj.name for adj in result]
assert result_names == [name_to_obj[n].name for n in expected_order]
if sort_key == repr:
assert [obj.name for obj in result] == expected_order
elif sort_key == str:
assert [obj.name for obj in result] == expected_order
elif 'ID' in sort_key.__code__.co_varnames:
assert [obj.ID for obj in result] == expected_order
else:
assert [obj.name.lower() for obj in result] == [n.lower() for n in expected_order]