utilitiec/tests/StringView.test.c
2024-09-23 18:37:54 +02:00

52 lines
1.4 KiB
C

#include "../src/StringView/StringView.h"
#include <assert.h>
void test_split(void)
{
const char* source = "this,is,a,csv,header";
StringView sourceSV = StringView_FromString(source);
StringView delim = StringView_FromString(",");
StringView split;
assert(StringView_NextSplit(&split, &sourceSV, delim));
assert(StringView_Equal(split, StringView_FromString("this")));
assert(StringView_NextSplit(&split, &sourceSV, delim));
assert(StringView_Equal(split, StringView_FromString("is")));
assert(StringView_NextSplit(&split, &sourceSV, delim));
assert(StringView_Equal(split, StringView_FromString("a")));
assert(StringView_NextSplit(&split, &sourceSV, delim));
assert(StringView_Equal(split, StringView_FromString("csv")));
assert(StringView_NextSplit(&split, &sourceSV, delim));
assert(StringView_Equal(split, StringView_FromString("header")));
assert(! StringView_NextSplit(&split, &sourceSV, delim));
return;
}
void test_fext(void)
{
const char* filepath = "database.sqlite.old";
StringView sourceSV = StringView_FromString(filepath);
StringView delim = StringView_FromString(".");
StringView split;
assert(StringView_LastSplit(&split, &sourceSV, delim));
assert(StringView_Equal(split, StringView_FromString("old")));
assert(StringView_Equal(sourceSV, StringView_FromString("database.sqlite")));
return;
}
int main()
{
test_split();
test_fext();
return 0;
}