Skip to content

Commit 79c605f

Browse files
committed
Add list_get_item() function
1 parent 14840cf commit 79c605f

File tree

3 files changed

+23
-0
lines changed

3 files changed

+23
-0
lines changed

src/scratch/list_functions.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,9 @@ extern "C"
2727
{
2828
return &list->insertEmpty(index);
2929
}
30+
31+
ValueData *list_get_item(List *list, size_t index)
32+
{
33+
return &list->operator[](index);
34+
}
3035
}

src/scratch/list_functions.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ extern "C"
1717

1818
ValueData *list_append_empty(List *list);
1919
ValueData *list_insert_empty(List *list, size_t index);
20+
21+
ValueData *list_get_item(List *list, size_t index);
2022
}
2123

2224
} // namespace libscratchcpp

test/scratch_classes/list_functions_test.cpp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,3 +69,19 @@ TEST(ListFunctionsTest, InsertEmpty)
6969
value_assign_string(v, "test");
7070
ASSERT_EQ(list.toString(), "5 Lorem test ipsum");
7171
}
72+
73+
TEST(ListFunctionsTest, GetItem)
74+
{
75+
List list("", "test list");
76+
list.append("Lorem");
77+
list.append("ipsum");
78+
list.append("dolor");
79+
list.append("sit");
80+
list.append("amet");
81+
82+
ASSERT_EQ(list_get_item(&list, 0), &list[0]);
83+
ASSERT_EQ(list_get_item(&list, 1), &list[1]);
84+
ASSERT_EQ(list_get_item(&list, 2), &list[2]);
85+
ASSERT_EQ(list_get_item(&list, 3), &list[3]);
86+
ASSERT_EQ(list_get_item(&list, 4), &list[4]);
87+
}

0 commit comments

Comments
 (0)