"""Unit tests for the --cpu-offload device-placement branch. ``WatermarkRemover._move_to_device_and_optimize`` chooses between a full ``pipeline.to("cuda")`` and ``enable_model_cpu_offload()``. The placement decision is exercised with a mock pipeline and an uninitialized remover, so the core CI matrix needs no diffusion dependency, model download, or GPU. """ from __future__ import annotations from remove_ai_watermarks._internal.watermark_remover import WatermarkRemover def _remover(device: str, cpu_offload: bool) -> WatermarkRemover: remover = WatermarkRemover.__new__(WatermarkRemover) remover.device = device remover.cpu_offload = cpu_offload remover._progress_callback = None return remover