a998f6b981
Release / release (push) Successful in 8s
## Summary Standardize naming conventions across the entire wizapp-stdlib codebase by replacing inconsistent prefixes and snake_case with a unified `wp` prefix + CamelCase scheme. ## Changes ### Naming convention applied | Pattern | Before | After | |---|---|---| | Public functions | `wapp_module_function` | `wpModuleFunction` | | Public types | `GenericXxx`, bare `Xxx` | `WpXxx` | | Constants / enum values | `WAPP_XXX`, `SHELL_XXX` | `WP_XXX`, `WP_SHELL_XXX` | | Internal functions | `_module_function` | `_moduleFunction` | | Storage-class macros | `wapp_extern`, `wapp_intern` | `wp_extern`, `wp_intern` | ### Modules affected All 20 modules were renamed: `arena`, `array`, `dbl_list`, `queue`, `str8`, `mem_allocator`, `mem_utils`, `mem_os`, `file`, `cpath`, `log`, `shell_commander`, `shell_termcolour`, `shell_utils`, `prng/xorshift`, `uuid`, `tester`, `aliases`, `assert`, `misc_utils`, `platform` — plus their test files. ### Backward compatibility Added `src/oldnames.h` with `#define OLD_NAME NEW_NAME` for every renamed symbol, organized by module under Constants → Types → Functions sections. Existing code that includes this file will compile without changes. Reviewed-on: #12 Co-authored-by: Abdelrahman <said.abdelrahman89@gmail.com> Co-committed-by: Abdelrahman <said.abdelrahman89@gmail.com>
239 lines
7.6 KiB
C++
239 lines
7.6 KiB
C++
#include "test_str8_list.h"
|
|
#include "wapp.h"
|
|
|
|
WpTestFuncResult test_str8_list_get(void) {
|
|
b8 result;
|
|
|
|
WpStr8 s1 = wpStr8Lit("1");
|
|
WpStr8 s2 = wpStr8Lit("2");
|
|
WpStr8 s3 = wpStr8Lit("3");
|
|
WpStr8 s4 = wpStr8Lit("4");
|
|
WpStr8 s5 = wpStr8Lit("5");
|
|
|
|
WpStr8List list = wpDblList(WpStr8);
|
|
|
|
wpDblListPushBack(WpStr8, &list, &s1);
|
|
wpDblListPushBack(WpStr8, &list, &s2);
|
|
wpDblListPushBack(WpStr8, &list, &s3);
|
|
wpDblListPushBack(WpStr8, &list, &s4);
|
|
wpDblListPushBack(WpStr8, &list, &s5);
|
|
|
|
WpStr8 *node = wpDblListGet(WpStr8, &list, 0);
|
|
result = node == &s1 && wpStr8Equal(node, &s1);
|
|
|
|
node = wpDblListGet(WpStr8, &list, 1);
|
|
result = result && node == &s2 && wpStr8Equal(node, &s2);
|
|
|
|
node = wpDblListGet(WpStr8, &list, 2);
|
|
result = result && node == &s3 && wpStr8Equal(node, &s3);
|
|
|
|
node = wpDblListGet(WpStr8, &list, 3);
|
|
result = result && node == &s4 && wpStr8Equal(node, &s4);
|
|
|
|
node = wpDblListGet(WpStr8, &list, 4);
|
|
result = result && node == &s5 && wpStr8Equal(node, &s5);
|
|
|
|
return wpTesterResult(result);
|
|
}
|
|
|
|
WpTestFuncResult test_str8_list_push_front(void) {
|
|
b8 result;
|
|
|
|
WpStr8 s1 = wpStr8Lit("1");
|
|
WpStr8 s2 = wpStr8Lit("2");
|
|
WpStr8 s3 = wpStr8Lit("3");
|
|
|
|
WpStr8List list = wpDblList(WpStr8);
|
|
|
|
wpDblListPushFront(WpStr8, &list, &s1);
|
|
result = list.first == list.last && list.first->item == &s1 && wpStr8ListTotalSize(&list) == 1 && list.node_count == 1;
|
|
|
|
wpDblListPushFront(WpStr8, &list, &s2);
|
|
result = result && list.first->item == &s2 && wpStr8ListTotalSize(&list) == 2 && list.node_count == 2;
|
|
|
|
wpDblListPushFront(WpStr8, &list, &s3);
|
|
result = result && list.first->item == &s3 && wpStr8ListTotalSize(&list) == 3 && list.node_count == 3;
|
|
|
|
return wpTesterResult(result);
|
|
}
|
|
|
|
WpTestFuncResult test_str8_list_push_back(void) {
|
|
b8 result;
|
|
|
|
WpStr8 s1 = wpStr8Lit("1");
|
|
WpStr8 s2 = wpStr8Lit("2");
|
|
WpStr8 s3 = wpStr8Lit("3");
|
|
|
|
WpStr8List list = wpDblList(WpStr8);
|
|
|
|
wpDblListPushBack(WpStr8, &list, &s1);
|
|
result = list.first == list.last && list.last->item == &s1 && wpStr8ListTotalSize(&list) == 1 && list.node_count == 1;
|
|
|
|
wpDblListPushBack(WpStr8, &list, &s2);
|
|
result = result && list.last->item == &s2 && wpStr8ListTotalSize(&list) == 2 && list.node_count == 2;
|
|
|
|
wpDblListPushBack(WpStr8, &list, &s3);
|
|
result = result && list.last->item == &s3 && wpStr8ListTotalSize(&list) == 3 && list.node_count == 3;
|
|
|
|
return wpTesterResult(result);
|
|
}
|
|
|
|
WpTestFuncResult test_str8_list_insert(void) {
|
|
b8 result;
|
|
|
|
WpStr8 s1 = wpStr8Lit("1");
|
|
WpStr8 s2 = wpStr8Lit("2");
|
|
WpStr8 s3 = wpStr8Lit("3");
|
|
WpStr8 s4 = wpStr8Lit("4");
|
|
WpStr8 s5 = wpStr8Lit("5");
|
|
WpStr8 s6 = wpStr8Lit("6");
|
|
WpStr8 s7 = wpStr8Lit("7");
|
|
|
|
WpStr8List list = wpDblList(WpStr8);
|
|
|
|
wpDblListPushBack(WpStr8, &list, &s1);
|
|
wpDblListPushBack(WpStr8, &list, &s2);
|
|
wpDblListPushBack(WpStr8, &list, &s3);
|
|
wpDblListPushBack(WpStr8, &list, &s4);
|
|
wpDblListPushBack(WpStr8, &list, &s5);
|
|
|
|
WpStr8 *node;
|
|
wpDblListInsert(WpStr8, &list, &s6, 2);
|
|
node = wpDblListGet(WpStr8, &list, 2);
|
|
result = node != NULL && node == &s6 && wpStr8ListTotalSize(&list) == 6 && list.node_count == 6;
|
|
wpDblListInsert(WpStr8, &list, &s7, 5);
|
|
node = wpDblListGet(WpStr8, &list, 5);
|
|
result = result && node != NULL && node == &s7 && wpStr8ListTotalSize(&list) == 7 && list.node_count == 7;
|
|
|
|
return wpTesterResult(result);
|
|
}
|
|
|
|
WpTestFuncResult test_str8_list_pop_front(void) {
|
|
b8 result;
|
|
|
|
WpStr8 s1 = wpStr8Lit("1");
|
|
WpStr8 s2 = wpStr8Lit("2");
|
|
WpStr8 s3 = wpStr8Lit("3");
|
|
WpStr8 s4 = wpStr8Lit("4");
|
|
WpStr8 s5 = wpStr8Lit("5");
|
|
|
|
WpStr8List list = wpDblList(WpStr8);
|
|
|
|
wpDblListPushBack(WpStr8, &list, &s1);
|
|
wpDblListPushBack(WpStr8, &list, &s2);
|
|
wpDblListPushBack(WpStr8, &list, &s3);
|
|
wpDblListPushBack(WpStr8, &list, &s4);
|
|
wpDblListPushBack(WpStr8, &list, &s5);
|
|
|
|
WpStr8 *node = wpDblListPopFront(WpStr8, &list);
|
|
result = node == &s1 && wpStr8Equal(node, &s1) && wpStr8ListTotalSize(&list) == 4 && list.node_count == 4;
|
|
|
|
node = wpDblListPopFront(WpStr8, &list);
|
|
result = result && node == &s2 && wpStr8Equal(node, &s2) && wpStr8ListTotalSize(&list) == 3 && list.node_count == 3;
|
|
|
|
node = wpDblListPopFront(WpStr8, &list);
|
|
result = result && node == &s3 && wpStr8Equal(node, &s3) && wpStr8ListTotalSize(&list) == 2 && list.node_count == 2;
|
|
|
|
node = wpDblListPopFront(WpStr8, &list);
|
|
result = result && node == &s4 && wpStr8Equal(node, &s4) && wpStr8ListTotalSize(&list) == 1 && list.node_count == 1;
|
|
|
|
node = wpDblListPopFront(WpStr8, &list);
|
|
result = result && node == &s5 && wpStr8Equal(node, &s5) && wpStr8ListTotalSize(&list) == 0 && list.node_count == 0;
|
|
|
|
return wpTesterResult(result);
|
|
}
|
|
|
|
WpTestFuncResult test_str8_list_pop_back(void) {
|
|
b8 result;
|
|
|
|
WpStr8 s1 = wpStr8Lit("1");
|
|
WpStr8 s2 = wpStr8Lit("2");
|
|
WpStr8 s3 = wpStr8Lit("3");
|
|
WpStr8 s4 = wpStr8Lit("4");
|
|
WpStr8 s5 = wpStr8Lit("5");
|
|
|
|
WpStr8List list = wpDblList(WpStr8);
|
|
|
|
wpDblListPushFront(WpStr8, &list, &s1);
|
|
wpDblListPushFront(WpStr8, &list, &s2);
|
|
wpDblListPushFront(WpStr8, &list, &s3);
|
|
wpDblListPushFront(WpStr8, &list, &s4);
|
|
wpDblListPushFront(WpStr8, &list, &s5);
|
|
|
|
WpStr8 *node = wpDblListPopBack(WpStr8, &list);
|
|
result = node == &s1 && wpStr8Equal(node, &s1) && wpStr8ListTotalSize(&list) == 4 && list.node_count == 4;
|
|
|
|
node = wpDblListPopBack(WpStr8, &list);
|
|
result = result && node == &s2 && wpStr8Equal(node, &s2) && wpStr8ListTotalSize(&list) == 3 && list.node_count == 3;
|
|
|
|
node = wpDblListPopBack(WpStr8, &list);
|
|
result = result && node == &s3 && wpStr8Equal(node, &s3) && wpStr8ListTotalSize(&list) == 2 && list.node_count == 2;
|
|
|
|
node = wpDblListPopBack(WpStr8, &list);
|
|
result = result && node == &s4 && wpStr8Equal(node, &s4) && wpStr8ListTotalSize(&list) == 1 && list.node_count == 1;
|
|
|
|
node = wpDblListPopBack(WpStr8, &list);
|
|
result = result && node == &s5 && wpStr8Equal(node, &s5) && wpStr8ListTotalSize(&list) == 0 && list.node_count == 0;
|
|
|
|
return wpTesterResult(result);
|
|
}
|
|
|
|
WpTestFuncResult test_str8_list_remove(void) {
|
|
b8 result;
|
|
|
|
WpStr8 s1 = wpStr8Lit("1");
|
|
WpStr8 s2 = wpStr8Lit("2");
|
|
WpStr8 s3 = wpStr8Lit("3");
|
|
WpStr8 s4 = wpStr8Lit("4");
|
|
WpStr8 s5 = wpStr8Lit("5");
|
|
|
|
WpStr8List list = wpDblList(WpStr8);
|
|
|
|
wpDblListPushBack(WpStr8, &list, &s1);
|
|
wpDblListPushBack(WpStr8, &list, &s2);
|
|
wpDblListPushBack(WpStr8, &list, &s3);
|
|
wpDblListPushBack(WpStr8, &list, &s4);
|
|
wpDblListPushBack(WpStr8, &list, &s5);
|
|
|
|
WpStr8 *node = wpDblListRemove(WpStr8, &list, 0);
|
|
result = node == &s1 && wpStr8Equal(node, &s1) && wpStr8ListTotalSize(&list) == 4 && list.node_count == 4;
|
|
|
|
node = wpDblListRemove(WpStr8, &list, 0);
|
|
result = result && node == &s2 && wpStr8Equal(node, &s2) && wpStr8ListTotalSize(&list) == 3 && list.node_count == 3;
|
|
|
|
node = wpDblListRemove(WpStr8, &list, 0);
|
|
result = result && node == &s3 && wpStr8Equal(node, &s3) && wpStr8ListTotalSize(&list) == 2 && list.node_count == 2;
|
|
|
|
node = wpDblListRemove(WpStr8, &list, 0);
|
|
result = result && node == &s4 && wpStr8Equal(node, &s4) && wpStr8ListTotalSize(&list) == 1 && list.node_count == 1;
|
|
|
|
node = wpDblListRemove(WpStr8, &list, 0);
|
|
result = result && node == &s5 && wpStr8Equal(node, &s5) && wpStr8ListTotalSize(&list) == 0 && list.node_count == 0;
|
|
|
|
return wpTesterResult(result);
|
|
}
|
|
|
|
WpTestFuncResult test_str8_list_empty(void) {
|
|
b8 result;
|
|
|
|
WpStr8List list = wpDblList(WpStr8);
|
|
|
|
WpStr8 hello = wpStr8Lit("Hello");
|
|
wpDblListPushBack(WpStr8, &list, &hello);
|
|
|
|
WpStr8 from = wpStr8Lit("from");
|
|
wpDblListPushBack(WpStr8, &list, &from);
|
|
|
|
WpStr8 wizapp = wpStr8Lit("wizapp");
|
|
wpDblListPushBack(WpStr8, &list, &wizapp);
|
|
|
|
WpStr8 stdlib = wpStr8Lit("stdlib");
|
|
wpDblListPushBack(WpStr8, &list, &stdlib);
|
|
|
|
wpDblListEmpty(WpStr8, &list);
|
|
|
|
result = list.first == NULL && list.last == NULL && list.node_count == 0 && wpStr8ListTotalSize(&list) == 0;
|
|
|
|
return wpTesterResult(result);
|
|
}
|