Commit the Str8 tests

This commit is contained in:
Abdelrahman Said 2024-10-08 23:58:24 +01:00
parent 8f10ac2916
commit 84a4ec223c
2 changed files with 106 additions and 0 deletions

86
tests/str8/test_str8.c Normal file
View File

@ -0,0 +1,86 @@
#include "test_str8.h"
#include "str8.h"
#include "tester.h"
#include <stdbool.h>
TestFuncResult test_str8_lit(void) {
bool result;
Str8 s1 = wapp_str8_lit("Hello world");
result = s1.capacity == 11 && s1.capacity == s1.size;
Str8 s2 = wapp_str8_lit("Different strokes for different folks");
result = result && s2.capacity == 37 && s2.capacity == s2.size;
Str8 s3 = wapp_str8_lit("Discretion is the better part of valour");
result = result && s3.capacity == 39 && s3.capacity == s3.size;
Str8 s4 = wapp_str8_lit("Distance lends enchantment to the view");
result = result && s4.capacity == 38 && s4.capacity == s4.size;
Str8 s5 = wapp_str8_lit("Do as I say, not as I do");
result = result && s5.capacity == 24 && s5.capacity == s5.size;
Str8 s6 = wapp_str8_lit("Do as you would be done by");
result = result && s6.capacity == 26 && s6.capacity == s6.size;
Str8 s7 = wapp_str8_lit("Do unto others as you would have them do to you");
result = result && s7.capacity == 47 && s7.capacity == s7.size;
return wapp_tester_result(result);
}
TestFuncResult test_str8_buf(void) {
bool result;
Str8 s1 = wapp_str8_buf(1024);
result = s1.capacity == 1024 && s1.size == 0;
Str8 s2 = wapp_str8_buf(2048);
result = result && s2.capacity == 2048 && s2.size == 0;
Str8 s3 = wapp_str8_buf(4096);
result = result && s3.capacity == 4096 && s3.size == 0;
Str8 s4 = wapp_str8_buf(8192);
result = result && s4.capacity == 8192 && s4.size == 0;
return wapp_tester_result(result);
}
TestFuncResult test_str8_get_index_within_bounds(void) {
bool result;
Str8 s1 = wapp_str8_lit("Hello world");
result = wapp_str8_get(&s1, 4) == 'o';
Str8 s2 = wapp_str8_lit("Different strokes for different folks");
result = result && wapp_str8_get(&s2, 0) == 'D';
Str8 s3 = wapp_str8_lit("Discretion is the better part of valour");
result = result && wapp_str8_get(&s3, 13) == ' ';
Str8 s4 = wapp_str8_lit("Distance lends enchantment to the view");
result = result && wapp_str8_get(&s4, 20) == 'n';
Str8 s5 = wapp_str8_lit("Do as I say, not as I do");
result = result && wapp_str8_get(&s5, 11) == ',';
Str8 s6 = wapp_str8_lit("Do as you would be done by");
result = result && wapp_str8_get(&s6, 25) == 'y';
Str8 s7 = wapp_str8_lit("Do unto others as you would have them do to you");
result = result && wapp_str8_get(&s7, 16) == 's';
return wapp_tester_result(result);
}
TestFuncResult test_str8_get_index_out_of_bounds(void) {
Str8 s1 = wapp_str8_lit("Hello world");
bool result = wapp_str8_get(&s1, 20) == '\0';
return wapp_tester_result(result);
}
TestFuncResult test_str8_set(void) {
return wapp_tester_result(true);
}

20
tests/str8/test_str8.h Normal file
View File

@ -0,0 +1,20 @@
#ifndef TEST_STR8_H
#define TEST_STR8_H
#include "tester.h"
#ifdef __cplusplus
BEGIN_C_LINKAGE
#endif // __cplusplus
TestFuncResult test_str8_lit(void);
TestFuncResult test_str8_buf(void);
TestFuncResult test_str8_get_index_within_bounds(void);
TestFuncResult test_str8_get_index_out_of_bounds(void);
TestFuncResult test_str8_set(void);
#ifdef __cplusplus
END_C_LINKAGE
#endif // __cplusplus
#endif // !TEST_STR8_H