someone-in-the-world's picture
Skip text_encoder CPU offload in fast mode; type mode as an enum
39867e3
Raw
History Blame Contribute Delete
1.14 kB
import pytest
from dimensions import MAX_OUTPUT_DIM, MAX_OUTPUT_DIM_FAST
from mode import Mode
# --- from_value ---
def test_from_value_accepts_known_strings():
assert Mode.from_value("fast") is Mode.FAST
assert Mode.from_value("high_detail") is Mode.HIGH_DETAIL
@pytest.mark.parametrize("value", ["anything_else", None, "", "FAST"])
def test_from_value_falls_back_to_high_detail(value):
assert Mode.from_value(value) is Mode.HIGH_DETAIL
def test_from_value_is_idempotent_on_mode_instances():
assert Mode.from_value(Mode.FAST) is Mode.FAST
assert Mode.from_value(Mode.HIGH_DETAIL) is Mode.HIGH_DETAIL
# --- max_dim ---
def test_fast_mode_uses_fast_max_dim():
assert Mode.FAST.max_dim == MAX_OUTPUT_DIM_FAST
def test_high_detail_mode_uses_default_max_dim():
assert Mode.HIGH_DETAIL.max_dim == MAX_OUTPUT_DIM
# --- offloads_text_encoder_before_decode ---
def test_fast_mode_skips_text_encoder_offload():
assert Mode.FAST.offloads_text_encoder_before_decode is False
def test_high_detail_mode_keeps_text_encoder_offload():
assert Mode.HIGH_DETAIL.offloads_text_encoder_before_decode is True