import pytest from piker.ui._style import DpiAwareFont class MockScreen: def __init__(self, pdpi, ldpi, name="MockScreen"): self._pdpi = pdpi self._ldpi = ldpi self._name = name def physicalDotsPerInch(self): return self._pdpi def logicalDotsPerInch(self): return self._ldpi def name(self): return self._name @pytest.mark.parametrize( "pdpi, ldpi", [ (96, 96), # normal DPI (169, 96), # HiDPI (120, 96), # mid-DPI ] ) def test_font_px_size(pdpi, ldpi): font = DpiAwareFont() font.configure_to_dpi(screen=MockScreen(pdpi, ldpi)) px = font.px_size print(f"{pdpi}x{ldpi} DPI -> Computed pixel size: {px}") assert 12 <= px <= 24