Files
Artificial-Sweetener-Simple…/tests/test_global_lora_visual_proof.py
T

59 lines
2.0 KiB
Python

# SimpleSyrup - workflow-focused ComfyUI extensions for image generation
# Copyright (C) 2026 Artificial Sweetener and contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
"""Verify the fixed global and regional PRIMARY_ADAPTER visual proof matrix."""
from __future__ import annotations
from tools.global_lora_visual_proof.matrix import cases, render_positive_prompt
def test_matrix_covers_global_strength_regional_and_duplicate_placement() -> None:
"""Keep every requested placement explicit and ordered."""
definitions = cases()
assert [case.case_id for case in definitions] == [
"no-lora",
"global-primary_adapter-050",
"global-primary_adapter-100",
"regional-primary_adapter-100-left",
"duplicate-global-regional-primary_adapter-100",
]
assert [case.global_strength for case in definitions] == [None, 0.5, 1.0, None, 1.0]
assert [case.regional_strength for case in definitions] == [
None,
None,
None,
1.0,
1.0,
]
assert [case.expect_overlap_rejection for case in definitions] == [
False,
False,
False,
False,
True,
]
def test_prompt_renderer_places_primary_adapter_only_in_declared_segments() -> None:
"""Remove prior tags before rendering exact global and left-region uses."""
source = (
"global text[SEP]left text "
r"<lora:Anima\style\adapter-a.safetensors:0.8>"
"[SEP]right text"
)
rendered = [render_positive_prompt(source, case).split("[SEP]") for case in cases()]
assert all("<lora:" not in segment for segment in rendered[0])
assert all("<lora:" not in segment for segment in rendered[1])
assert all("<lora:" not in segment for segment in rendered[2])
assert "adapter-a.safetensors:1" in rendered[3][1]
assert "<lora:" not in rendered[3][0] + rendered[3][2]
assert "<lora:" not in rendered[4][0]
assert "adapter-a.safetensors:1" in rendered[4][1]