from __future__ import annotations from pathlib import Path from knoe.ops.files import write_if_changed def test_write_if_changed(tmp_path: Path): p = tmp_path / "a.txt" assert write_if_changed(p, "hello\n") is True assert p.read_text(encoding="utf-8") == "hello\n" # Unchanged assert write_if_changed(p, "hello\n") is False # Changed assert write_if_changed(p, "hello2\n") is True assert p.read_text(encoding="utf-8") == "hello2\n"