mirror of
https://github.com/kuhyx/testsAndMisc.git
synced 2026-07-04 22:03:18 +02:00
Split diet_guard/_gatelock.py, wake_alarm/_alarm.py, and the usage_report.py/_usage_report_parsing.py pair into focused sub-modules so every Python file is <= 500 lines, satisfying test_file_length.py. Install python-kasa into .venv (declared in requirements but missing after the 3.13->3.14 venv upgrade), fixing 8 failing smart_plug tests and restoring 100% coverage. Also includes prior in-progress work from the working tree: the wake_alarm Progress/View/Hardware field-grouping refactor, brother_printer query module + tests, diet_guard foodbank/state/cli updates, new shared coerce/logging_setup helpers, morning_routine orchestrator tweaks, dwm window-manager config, gaming scripts, and misc maintenance/digital-wellbeing script updates. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
27 lines
725 B
Python
27 lines
725 B
Python
"""Tests for the shared ``as_float`` coercion helper."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from python_pkg.shared.coerce import as_float
|
|
|
|
|
|
def test_bool_rejected() -> None:
|
|
"""Booleans coerce to 0.0 despite subclassing ``int``."""
|
|
true_value: bool = True
|
|
false_value: bool = False
|
|
assert as_float(true_value) == 0.0
|
|
assert as_float(false_value) == 0.0
|
|
|
|
|
|
def test_numeric_coerced() -> None:
|
|
"""ints and floats coerce to a float value."""
|
|
assert as_float(3) == 3.0
|
|
assert as_float(2.5) == 2.5
|
|
|
|
|
|
def test_non_numeric_is_zero() -> None:
|
|
"""Strings, ``None`` and other types yield 0.0."""
|
|
assert as_float("abc") == 0.0
|
|
assert as_float(None) == 0.0
|
|
assert as_float([1, 2]) == 0.0
|