From 9d1d42b4948e61daad812b358c12353d91bc188e Mon Sep 17 00:00:00 2001 From: Maximilian Date: Sat, 1 Nov 2025 12:47:18 +0300 Subject: [PATCH] Update str_test.c --- str_test.c | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/str_test.c b/str_test.c index e69de29..467dd30 100644 --- a/str_test.c +++ b/str_test.c @@ -0,0 +1,59 @@ +#include +#include "munit/munit.h" +#include "str_lib.h" + +static MunitResult +test_mystrlen(const MunitParameter params[], void * data) +{ + munit_assert_int(mystrlen(""), ==, 0); + munit_assert_int(mystrlen("333"), ==, 3); + munit_assert_int(mystrlen("helloworld"), ==, 10); + return MUNIT_OK; +} + +static MunitResult +test_mystr_idx(const MunitParameter params[], void * data) +{ + munit_assert_int(mystr_idx("", ""), ==, 0); + munit_assert_int(mystr_idx("h", "h"), ==, 0); + munit_assert_int(mystr_idx("ah", "h"), ==, 1); + munit_assert_int(mystr_idx("ah", "hh"), ==, -1); + munit_assert_int(mystr_idx("ahh", "hh"), ==, 1); + char *cap = "London is the capital of Great Britan"; + munit_assert_int(mystr_idx(cap, "python"), ==, -1); + munit_assert_int(mystr_idx(cap, "London"), ==, 0); + munit_assert_int(mystr_idx(cap, "o"), ==, 1); + munit_assert_int(mystr_idx(cap, "is"), ==, 7); + return MUNIT_OK; +} + +static MunitResult +test_mystr_idx_largestr(const MunitParameter params[], void * data) +{ + munit_assert_int(mystr_idx("", "LARGE STRING"), ==, -1); + munit_assert_int(mystr_idx("ARGE_STRING", "LARGE STRING"), ==, -1); + munit_assert_int(mystr_idx("ARGE STRING", "LARGE STRING"), ==, -1); + munit_assert_int(mystr_idx("RGE STRING", "LARGE STRING"), ==, -1); + return MUNIT_OK; +} + +#define TEST_ITEM(func) {#func, func, NULL, NULL, MUNIT_TEST_OPTION_NONE, NULL} +static MunitTest test_suite_tests[] = { + TEST_ITEM(test_mystrlen), + TEST_ITEM(test_mystr_idx), + TEST_ITEM(test_mystr_idx_largestr), + { NULL, NULL, NULL, NULL, MUNIT_TEST_OPTION_NONE, NULL } +}; + +static const MunitSuite test_suite = { + (char *) "", + test_suite_tests, + NULL, + 1, + MUNIT_SUITE_OPTION_NONE +}; + +int main(int argc, const char *argv[]) +{ + return munit_suite_main(&test_suite, (void *) "string library test", argc, (char **)argv); +} \ No newline at end of file