Files
opvelll-ComfyUI_TextListPro…/tests/test_ProductedString.py
T

53 lines
1.7 KiB
Python

import unittest
from src.ProductedString import ProductedString
class TestProductedString(unittest.TestCase):
def setUp(self):
self.node = ProductedString()
def test_combine_input_lists_two_lists(self):
result = self.node.combine_input_lists(
", ", 0, "\n", list_a=["a", "b"], list_b=["1", "2"]
)
self.assertEqual(result, ("a, 1\na, 2\nb, 1\nb, 2",))
def test_combine_input_lists_only_connected_lists_are_used(self):
result = self.node.combine_input_lists(
" | ",
0,
"\n",
list_a=["a"],
list_c=["1", "2"],
list_f=["x"],
ignored="not-a-list",
)
self.assertEqual(result, ("a | 1 | x\na | 2 | x",))
def test_combine_input_lists_empty_when_no_lists_are_connected(self):
result = self.node.combine_input_lists(", ", 0, "\n")
self.assertEqual(result, ("",))
def test_combine_input_lists_filters_empty_strings(self):
result = self.node.combine_input_lists(
", ", 0, "\n", list_a=["a", ""], list_b=["1", ""]
)
self.assertEqual(result, ("a, 1\na\n1",))
def test_combine_input_lists_uses_custom_newline_character(self):
result = self.node.combine_input_lists(
", ", 0, " / ", list_a=["a"], list_b=["1", "2"]
)
self.assertEqual(result, ("a, 1 / a, 2",))
def test_combine_input_lists_respects_max_results(self):
result = self.node.combine_input_lists(
", ", 3, "\n", list_a=["a", "b"], list_b=["1", "2", "3"]
)
self.assertEqual(result, ("a, 1\na, 2\na, 3",))
if __name__ == "__main__":
unittest.main()