Files
StableLlama-ComfyUI-basic_d…/tests/test_control_flow_nodes.py
T
2025-05-18 01:48:01 +02:00

40 lines
1.9 KiB
Python

#import pytest
from src.basic_data_handling.control_flow_nodes import IfElse, SwitchCase
def test_if_else():
node = IfElse()
# Test where condition is True
assert node.execute(True, "Value if True", "Value if False") == ("Value if True",)
# Test where condition is False
assert node.execute(False, "Value if True", "Value if False") == ("Value if False",)
# Test edge cases
assert node.execute(True, 1, 2) == (1,) # Integers
assert node.execute(False, [1, 2, 3], None) == (None,) # Complex types
assert node.execute(True, None, "fallback") == (None,) # Fallback to True branch
def test_switch_case():
node = SwitchCase()
# Selector within range, valid cases
assert node.execute(0, case_0="Case 0", case_1="Case 1", case_2="Case 2", case_3="Case 3") == ("Case 0",)
assert node.execute(1, case_0="Case 0", case_1="Case 1", case_2="Case 2", case_3="Case 3") == ("Case 1",)
assert node.execute(3, case_0="Case 0", case_1="Case 1", case_2="Case 2", case_3="Case 3") == ("Case 3",)
# Selector out of range, fallback to default case
assert node.execute(4, case_0="Case 0", case_1="Case 1", case_2="Case 2", case_3="Case 3", default="Default") == ("Default",)
assert node.execute(99, case_0="Case 0", case_1="Case 1", case_2="Case 2", case_3="Case 3", default="Default") == ("Default",)
# Selector out of range, no default provided
assert node.execute(4, case_0="Case 0", case_1="Case 1", case_2="Case 2", case_3="Case 3") == (None,)
# Edge cases
assert node.execute(0, case_0=None, case_1="Case 1", case_2="Case 2") == (None,) # Case with None
assert node.execute(2, case_0="Case 0", case_1="Case 1", case_2="Case 2") == ("Case 2",)
assert node.execute(0, case_0=123, case_1=False, case_2="Case 2") == (123,) # Different data types
assert node.execute(10, case_0="Case 0", case_1="Case 1", case_2="Case 2", default="Fallback") == ("Fallback",)