mirror of
https://github.com/Tilo-K/tstd.git
synced 2026-01-10 06:51:01 +00:00
feat: make list dynamic
This commit is contained in:
@@ -2,48 +2,49 @@
|
||||
// Created by tilok on 23.08.2025.
|
||||
//
|
||||
#include <assert.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "tstd/list.h"
|
||||
|
||||
int test_list_create() {
|
||||
list* list = list_create();
|
||||
DEFINE_LIST(int)
|
||||
DEFINE_LIST_PTR(charptr)
|
||||
|
||||
int test_list_int_create() {
|
||||
list_int* list = list_int_create();
|
||||
assert(list->capacity == 10);
|
||||
|
||||
list_free(list);
|
||||
list_int_free(list);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int test_list_add_element() {
|
||||
list* list = list_create();
|
||||
list_add_element(list, "Hello");
|
||||
list_charptr* list = list_charptr_create();
|
||||
list_charptr_add(list, "Hello");
|
||||
|
||||
assert(list->length == 1);
|
||||
assert(strcmp(list->data[0], "Hello") == 0);
|
||||
|
||||
list_free(list);
|
||||
list_charptr_free(list);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int test_add_multiple_elements() {
|
||||
list* list = list_create();
|
||||
list_charptr* list = list_charptr_create();
|
||||
for (int i = 0; i < 1000; i++) {
|
||||
list_add_element(list, "Hello");
|
||||
list_charptr_add(list, "Hello");
|
||||
}
|
||||
assert(list->length == 1000);
|
||||
assert(list->capacity > 1000);
|
||||
|
||||
list_free(list);
|
||||
list_charptr_free(list);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int test_delete_element() {
|
||||
list* list = list_create();
|
||||
list_add_element(list, "Hello");
|
||||
list_add_element(list, "World");
|
||||
list_add_element(list, "Test");
|
||||
list_delete_element(list, 1);
|
||||
list_charptr* list = list_charptr_create();
|
||||
list_charptr_add(list, "Hello");
|
||||
list_charptr_add(list, "World");
|
||||
list_charptr_add(list, "Test");
|
||||
list_charptr_delete(list, 1);
|
||||
|
||||
assert(list->length == 2);
|
||||
assert(strcmp(list->data[1], "Test") == 0);
|
||||
@@ -52,10 +53,10 @@ int test_delete_element() {
|
||||
}
|
||||
|
||||
int test_list_contains() {
|
||||
list* list = list_create();
|
||||
list_add_element(list, "Hello");
|
||||
list_add_element(list, "World");
|
||||
list_add_element(list, "Test");
|
||||
list_charptr* list = list_charptr_create();
|
||||
list_charptr_add(list, "Hello");
|
||||
list_charptr_add(list, "World");
|
||||
list_charptr_add(list, "Test");
|
||||
|
||||
assert(list_contains(list, "Hello") == 1);
|
||||
assert(list_contains(list, "World") == 1);
|
||||
@@ -68,7 +69,7 @@ int test_list_contains() {
|
||||
int main() {
|
||||
int result = 0;
|
||||
|
||||
result += test_list_create();
|
||||
result += test_list_int_create();
|
||||
result += test_list_add_element();
|
||||
result += test_add_multiple_elements();
|
||||
result += test_delete_element();
|
||||
|
||||
Reference in New Issue
Block a user