#include "../src/StringView/StringView.h" #include 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; }