From e7b3c1bb7d4966bbb8eec8de726839d9757113f0 Mon Sep 17 00:00:00 2001 From: Aleksei Chubukov Date: Fri, 1 Dec 2023 00:01:29 +0400 Subject: [PATCH] add c03/ex05 --- .vimrc | 3 +++ c03/ex05.c | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 .vimrc create mode 100644 c03/ex05.c diff --git a/.vimrc b/.vimrc new file mode 100644 index 0000000..224267f --- /dev/null +++ b/.vimrc @@ -0,0 +1,3 @@ +let g:ale_c_clang_options="-Icommon -Icontrib/Unity/src/ -Wall -Wextra -Werror" +let g:ale_c_cc_options="-Icommon -Icontrib/Unity/src/ -Wall -Wextra -Werror" + diff --git a/c03/ex05.c b/c03/ex05.c new file mode 100644 index 0000000..b4d3e3b --- /dev/null +++ b/c03/ex05.c @@ -0,0 +1,73 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ex05.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: achubuko +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/11/30 23:28:26 by achubuko #+# #+# */ +/* Updated: 2023/11/30 23:58:06 by achubuko ### ########.fr */ +/* */ +/* ************************************************************************** */ +#include +#include +#include +#include + +unsigned int ft_strlcat(char *dest, char *src, unsigned int size); + +char g_dest[100] = "Hello "; +char g_dest_1[100]; +char g_dest_2[100]; +char *g_src = "world\0\0\0\0\0\0\0\0"; +size_t g_r1; +size_t g_r2; + +void setUp(void) +{ + memcpy(g_dest_1, g_dest, 100); + memcpy(g_dest_2, g_dest, 100); +} + +void tearDown(void) +{ +} + +void test_strlcat_short_retval(void) +{ + g_r1 = strlcat(g_dest_1, g_src, 3); + g_r2 = ft_strlcat(g_dest_2, g_src, 3); + TEST_ASSERT_EQUAL_INT(g_r1, g_r1); +} + +void test_strlcat_short(void) +{ + g_r1 = strlcat(g_dest_1, g_src, 3); + g_r2 = ft_strlcat(g_dest_2, g_src, 3); + TEST_ASSERT_EQUAL_STRING(g_dest_1, g_dest_2); + TEST_ASSERT_EQUAL_INT(g_r1, g_r1); +} + +void test_strlcat_normal_retval(void) +{ + g_r1 = strlcat(g_dest_1, g_src, 20); + g_r2 = ft_strlcat(g_dest_2, g_src, 20); + TEST_ASSERT_EQUAL_INT(g_r1, g_r1); +} + +void test_strlcat_normal(void) +{ + g_r1 = strlcat(g_dest_1, g_src, 20); + g_r2 = ft_strlcat(g_dest_2, g_src, 20); + TEST_ASSERT_EQUAL_STRING(g_dest_1, g_dest_2); +} + +int main(void) +{ + UNITY_BEGIN(); + RUN_TEST(test_strlcat_normal); + RUN_TEST(test_strlcat_normal_retval); + RUN_TEST(test_strlcat_short); + RUN_TEST(test_strlcat_short_retval); + return (UNITY_END()); +}