From 4a7fa69c2edeabf88ff26f6b456da6d53cd86d9e Mon Sep 17 00:00:00 2001 From: Kharec Date: Tue, 17 Feb 2026 12:43:06 +0100 Subject: [PATCH] test: clean up tests/test_ui_filter.py using dataclass and slots --- tests/test_ui_filter.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/tests/test_ui_filter.py b/tests/test_ui_filter.py index 227a46c..ca27f56 100644 --- a/tests/test_ui_filter.py +++ b/tests/test_ui_filter.py @@ -1,17 +1,21 @@ from __future__ import annotations +from dataclasses import dataclass +from typing import Callable, cast + from auditui.ui import FilterScreen +from textual.widgets import Input +@dataclass(slots=True) class DummyEvent: - def __init__(self, value: str) -> None: - self.value = value + value: str +@dataclass(slots=True) class FakeTimer: - def __init__(self, callback) -> None: - self.callback = callback - self.stopped = False + callback: Callable[[], None] + stopped: bool = False def stop(self) -> None: self.stopped = True @@ -33,8 +37,8 @@ def test_filter_debounce_uses_latest_value(monkeypatch) -> None: monkeypatch.setattr(screen, "set_timer", fake_set_timer) - screen.on_input_changed(DummyEvent("a")) - screen.on_input_changed(DummyEvent("ab")) + screen.on_input_changed(cast(Input.Changed, DummyEvent("a"))) + screen.on_input_changed(cast(Input.Changed, DummyEvent("ab"))) assert len(timers) == 2 assert timers[0].stopped is True