diff --git a/Makefile b/Makefile index 61636ef..c101bc8 100644 --- a/Makefile +++ b/Makefile @@ -1,16 +1,16 @@ CFLAGS=-Wall -I munit -ggdb unittest_obj=munit/munit.o -all: str_bin str_test +all: aux_bin aux_test -str_test: $(unittest_obj) str_lib.o str_test.o +aux_bin: aux_bin.o aux_lib.o $(CC) $(CFLAGS) -o $@ $^ -str_bin: str_lib.o str_bin.o +aux_test: $(unittest_obj) aux_lib.o aux_test.o $(CC) $(CFLAGS) -o $@ $^ -test: ./str_test - ./str_test +test: ./aux_test + ./aux_test clean: - rm *_bin *.o $(unittest_obj) str_test + rm *_bin *.o $(unittest_obj) aux_test diff --git a/aux_bin.c b/aux_bin.c new file mode 100644 index 0000000..ba906a6 --- /dev/null +++ b/aux_bin.c @@ -0,0 +1,18 @@ +#include +#include "aux_lib.h" + +#define ARRSZ(arr) (sizeof(arr) / sizeof(arr[0])) + +int +main(int argc, const char *argv[]) +{ + int n = 5; + printf("fibonacci(%d) == %d\n", n, fibonacci(n)); + + int arr[] = {1,2,3,4,5}; + + bool res = sum_is_odd(arr, ARRSZ(arr)); + printf("sum_is_odd() == %s\n", res ? "true" : "false"); + + return 0; +} diff --git a/aux_lib.c b/aux_lib.c new file mode 100644 index 0000000..469bd42 --- /dev/null +++ b/aux_lib.c @@ -0,0 +1,22 @@ +#include "aux_lib.h" + +/* + * Функция возвращает n-ный элемент последовательности фибоначи + */ +int +fibonacci(int nitem) +{ + //YOUR_CODE + return 42; +} + +/* + * Функция считает сумму элементов массива и возвращает информацию + * является ли эта сумма нечётным числом. + */ +bool +sum_is_odd(int *arr, int arrsz) +{ + //YOUR_CODE + return false; +} diff --git a/aux_lib.h b/aux_lib.h new file mode 100644 index 0000000..bcf878c --- /dev/null +++ b/aux_lib.h @@ -0,0 +1,7 @@ +#pragma once +#include + +int fibonacci(int nitem); + +bool sum_is_odd(int *arr, int arrsz); + diff --git a/aux_test.c b/aux_test.c new file mode 100644 index 0000000..0de7fbf --- /dev/null +++ b/aux_test.c @@ -0,0 +1,15 @@ +#include +#include "munit.h" +#include "aux_lib.h" + +static const MunitSuite test_suite = { + //FILL ME +}; + +int +main(int argc, const char *argv[]) +{ + munit_suite_main(&test_suite, (void *) "string library test", argc, (char * const*) argv); + return 0; +} + diff --git a/str_bin.c b/str_bin.c deleted file mode 100644 index 16b6fea..0000000 --- a/str_bin.c +++ /dev/null @@ -1,21 +0,0 @@ -#include -#include "str_lib.h" - -int -main(int argc, const char *argv[]) -{ - const char *s1 = "hello"; - const char *s2 = "ello"; - - if (argc > 2) { - s1 = argv[1]; - s2 = argv[2]; - } - - // binary for manual testing - printf("\033[1;30mUse str_test for actual testing\033[0m\n"); - - printf("mystrlen(\"%s\") == %d\n", s1, mystrlen(s1)); - printf("str_idx(\"%s\", \"%s\") == %d\n", s1, s2, mystr_idx(s1, s2)); - return 0; -} diff --git a/str_lib.c b/str_lib.c deleted file mode 100644 index fa1d7db..0000000 --- a/str_lib.c +++ /dev/null @@ -1,23 +0,0 @@ -#include - -/* - * Вернуть длину строки. - * Строки в C -- это массив символов, в конце которого находится нулевой символ ( '\0') - */ -int -mystrlen(const char *s) -{ - // -} - -/* - * Найти индекс, с которого строка s2 присутствует в строке s1 - * или -1 - */ -int -mystr_idx(const char *s1, const char *s2) -{ - // - return -1; -} - diff --git a/str_lib.h b/str_lib.h deleted file mode 100644 index d89a75b..0000000 --- a/str_lib.h +++ /dev/null @@ -1,6 +0,0 @@ -#pragma once - -int mystrlen(const char *s); - -int mystr_idx(const char *s1, const char *s2); - diff --git a/str_test.c b/str_test.c deleted file mode 100644 index 074f9f4..0000000 --- a/str_test.c +++ /dev/null @@ -1,67 +0,0 @@ -#include -#include "munit.h" -#include "str_lib.h" - -static MunitResult -test_mystrlen(const MunitParameter params[], void * data) -{ - munit_assert_true(mystrlen("") == 0); - munit_assert_true(mystrlen("333") == 3); - munit_assert_true(mystrlen("helloworld") == 10); - return MUNIT_OK; -} - -static MunitResult -test_mystr_idx(const MunitParameter params[], void * data) -{ - munit_assert_true(mystr_idx("", "") == 0); - munit_assert_true(mystr_idx("h", "h") == 0); - munit_assert_true(mystr_idx("ah", "h") == 1); - munit_assert_true(mystr_idx("ah", "hh") == -1); - munit_assert_true(mystr_idx("ahh", "hh") == 1); - char *cap = "London is the capital of Great Britan"; - munit_assert_true(mystr_idx(cap, "python") == -1); - munit_assert_true(mystr_idx(cap, "London") == 0); - munit_assert_true(mystr_idx(cap, "o") == 1); - munit_assert_true(mystr_idx(cap, "is") == 7); - return MUNIT_OK; -} - -static MunitResult -test_mystr_idx_largestr(const MunitParameter params[], void * data) -{ - munit_assert_true(mystr_idx("", "LARGE STRING") == -1); - munit_assert_true(mystr_idx("ARGE_STRING", "LARGE STRING") == -1); - munit_assert_true(mystr_idx("ARGE STRING", "LARGE STRING") == -1); - munit_assert_true(mystr_idx("RGE STRING", "LARGE STRING") == -1); - return MUNIT_OK; -} - -#define TEST_ITEM(func) {#func, func, NULL, NULL, MUNIT_TEST_OPTION_NONE } -static MunitTest test_suite_tests[] = { - TEST_ITEM(test_mystrlen), - - TEST_ITEM(test_mystr_idx), - TEST_ITEM(test_mystr_idx_largestr), - //TEST_ITEM(test_pvector_init), - - { 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[]) -{ - munit_suite_main(&test_suite, (void *) "string library test", argc, (char * const*) argv); - return 0; -} -