import pathlib import unittest.mock import pytest import acpi_backlight # pylint: disable=protected-access; tests @pytest.mark.parametrize( ("expr_str", "brightness"), [ ("0", "0"), ("1", "200"), ("0.4", "80"), ("b / 2 + 0.21", "92"), ("b - 1", "0"), ("b + 1", "200"), ], ) def test_main(tmp_path: pathlib.Path, expr_str: str, brightness: str): acpi_dir_path = tmp_path.joinpath("intel_backlight") acpi_dir_path.mkdir() acpi_dir_path.joinpath("brightness").write_text("100") acpi_dir_path.joinpath("max_brightness").write_text("200") with unittest.mock.patch("sys.argv", ["", expr_str]), unittest.mock.patch( "acpi_backlight._ACPI_BACKLIGHT_ROOT_DIR_PATH", tmp_path ): acpi_backlight._main() assert acpi_dir_path.joinpath("brightness").read_text() == brightness