diff --git a/CODE_REVIEW.md b/CODE_REVIEW.md index f4841dd..1e9047d 100644 --- a/CODE_REVIEW.md +++ b/CODE_REVIEW.md @@ -123,7 +123,7 @@ for key, value in SORTED_MAPPING: --- -### H3. `pressure_to_mmhg(0)` возвращает `"--"` вместо `0.0` +### H3. `pressure_to_mmhg(0)` возвращает `"--"` вместо `0.0` — **ИСПРАВЛЕНО** **Файл:** `utils/pogoda.py`, строка 162 @@ -538,7 +538,7 @@ DeprecationWarning: 'asyncio.iscoroutinefunction' is deprecated and slated for r 3. [x] H1: Защитить `format_weather_data_for_console` от пустого списка — **выполнено** 4. [x] H2: Отсортировать ключи `translate_weather` по убыванию длины — **выполнено** -5. [ ] H3: Исправить `pressure_to_mmhg` -- `not mb` -> `mb is None or mb == ""` +5. [x] H3: Исправить `pressure_to_mmhg` -- `not mb` -> `mb is None or mb == ""` — **выполнено** 6. [ ] H4: Добавить защиту от дублирования cogs в `on_ready` 7. [ ] H5: Заменить `asyncio.run()` на `async def` в fetch-тестах (50+ тестов) 8. [ ] H6: Добавить HTTPError в retry-блок `fetch_weather` diff --git a/tests/test_pogoda.py b/tests/test_pogoda.py index 2f0972a..6c40970 100644 --- a/tests/test_pogoda.py +++ b/tests/test_pogoda.py @@ -231,8 +231,8 @@ class TestPressureToMMHG: assert pressure_to_mmhg("abc") == "—" def test_pressure_zero(self): - """Нулевое значение — falsy, возвращается '—' (известный баг).""" - assert pressure_to_mmhg(0) == "—" + """Нулевое значение — корректно конвертируется в 0.0.""" + assert pressure_to_mmhg(0) == 0.0 def test_pressure_negative(self): """Отрицательное значение должно конвертироваться.""" diff --git a/utils/pogoda.py b/utils/pogoda.py index 51188a4..5e32d24 100644 --- a/utils/pogoda.py +++ b/utils/pogoda.py @@ -197,7 +197,7 @@ def format_weather_for_embed(data): def pressure_to_mmhg(mb): - if mb == "—" or not mb: + if mb == "—" or mb is None or mb == "": return "—" try: return round(float(mb) * 0.750062, 1)