Add LIST tests

This commit is contained in:
StableLlama
2025-05-30 00:54:16 +02:00
parent 3a0c7fd25f
commit 810be2bbd4
2 changed files with 56 additions and 21 deletions
+7 -7
View File
@@ -1,11 +1,11 @@
import pytest
from src.basic_data_handling.data_list_nodes import (
DataListAppend,
DataListCreate,
DataListCreateFromBoolean,
DataListCreateFromFloat,
DataListCreateFromInt,
DataListCreateFromString,
#DataListCreate,
#DataListCreateFromBoolean,
#DataListCreateFromFloat,
#DataListCreateFromInt,
#DataListCreateFromString,
DataListExtend,
DataListInsert,
DataListRemove,
@@ -27,8 +27,8 @@ from src.basic_data_handling.data_list_nodes import (
DataListLast,
DataListMin,
DataListMax,
DataListToList,
DataListToSet,
#DataListToList,
#DataListToSet,
)
+49 -14
View File
@@ -1,28 +1,31 @@
import pytest
from src.basic_data_handling.list_nodes import (
ListAppend,
ListContains,
ListCount,
ListCreate,
ListCreateFromBoolean,
ListCreateFromFloat,
ListCreateFromInt,
ListCreateFromString,
ListAppend,
ListExtend,
ListInsert,
ListRemove,
ListPop,
ListIndex,
ListCount,
ListSort,
ListReverse,
ListLength,
ListSlice,
ListFirst,
ListGetItem,
ListSetItem,
ListContains,
ListMin,
ListIndex,
ListInsert,
ListLast,
ListLength,
ListMax,
ListMin,
ListPop,
ListPopRandom,
ListRemove,
ListReverse,
ListSetItem,
ListSlice,
ListSort,
ListToDataList,
ListToSet
ListToSet,
)
@@ -61,6 +64,38 @@ def test_list_pop():
assert node.pop([], 0) == ([], None) # Empty list pop
def test_list_pop_random():
node = ListPopRandom()
# Test with single item - must remove that item
result, item = node.pop_random_element([42])
assert result == [] and item == 42
# Test with multiple items - can't predict which one will be popped
# but we can check the result list length and that the popped item was from the original list
original_list = [1, 2, 3, 4]
result, item = node.pop_random_element(original_list)
assert len(result) == len(original_list) - 1
assert item in original_list
assert item not in result
# Test with empty list
assert node.pop_random_element([]) == ([], None)
def test_list_first():
node = ListFirst()
assert node.get_first_element([1, 2, 3]) == (1,)
assert node.get_first_element(["a", "b", "c"]) == ("a",)
assert node.get_first_element([]) == (None,) # Empty list
def test_list_last():
node = ListLast()
assert node.get_last_element([1, 2, 3]) == (3,)
assert node.get_last_element(["a", "b", "c"]) == ("c",)
assert node.get_last_element([]) == (None,) # Empty list
def test_list_index():
node = ListIndex()
assert node.index([1, 2, 3, 2], 2) == (1,)