40 lines
1.4 KiB
Python
40 lines
1.4 KiB
Python
import unittest
|
|
|
|
from src.StringsToList import StringsToList
|
|
|
|
|
|
class TestStringsToList(unittest.TestCase):
|
|
def setUp(self):
|
|
self.node = StringsToList()
|
|
|
|
def test_collects_strings_in_input_order(self):
|
|
result = self.node.collect_strings(
|
|
text_g="seven", text_a="one", text_d="four"
|
|
)
|
|
self.assertEqual(result, (["one", "four", "seven"],))
|
|
|
|
def test_preserves_connected_empty_strings(self):
|
|
result = self.node.collect_strings(text_a="alpha", text_b="", text_c="gamma")
|
|
self.assertEqual(result, (["alpha", "", "gamma"],))
|
|
|
|
def test_no_connected_inputs_returns_empty_list(self):
|
|
result = self.node.collect_strings()
|
|
self.assertEqual(result, ([],))
|
|
|
|
def test_node_definition(self):
|
|
input_types = self.node.INPUT_TYPES()
|
|
self.assertEqual(input_types["required"], {})
|
|
self.assertEqual(
|
|
list(input_types["optional"].keys()),
|
|
[f"text_{suffix}" for suffix in "abcdefg"],
|
|
)
|
|
for input_type in input_types["optional"].values():
|
|
self.assertEqual(input_type, ("STRING", {"forceInput": True}))
|
|
self.assertEqual(self.node.RETURN_TYPES, ("LIST",))
|
|
self.assertEqual(self.node.CATEGORY, "TextListProduct")
|
|
self.assertFalse(hasattr(self.node, "OUTPUT_IS_LIST"))
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|