| import pytest |
| from dimensions import MAX_OUTPUT_DIM, MAX_OUTPUT_DIM_FAST |
| from mode import Mode |
|
|
|
|
| |
|
|
| 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 |
|
|
|
|
| |
|
|
| 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 |
|
|
|
|
| |
|
|
| 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 |
|
|