From 5e4fc62e36631d8d2e444ac3d60ce99ec7396ca0 Mon Sep 17 00:00:00 2001 From: zhangxiaoyu Date: Fri, 21 Oct 2022 09:58:40 +0800 Subject: [PATCH 30/43] add more test for string and map Signed-off-by: zhangxiaoyu --- test/cutils/map/map_ut.cc | 50 ++++++++++++++++++++- test/cutils/utils_string/utils_string_ut.cc | 17 ++++--- 2 files changed, 61 insertions(+), 6 deletions(-) diff --git a/test/cutils/map/map_ut.cc b/test/cutils/map/map_ut.cc index fd75da28..7e4c97e4 100644 --- a/test/cutils/map/map_ut.cc +++ b/test/cutils/map/map_ut.cc @@ -18,7 +18,12 @@ #include #include "map.h" -TEST(map_map_ut, test_map) +static void ptr_ptr_map_kefree(void *key, void *value) +{ + return; +} + +TEST(map_map_ut, test_map_string) { // map[string][bool] map_t *map_test = nullptr; @@ -37,3 +42,46 @@ TEST(map_map_ut, test_map) map_itor_free(itor); map_clear(map_test); } + +TEST(map_map_ut, test_map_int) +{ + int key = 3; + int value = 5; + int *value_ptr = nullptr; + // map[int][int] + map_t *map_test = nullptr; + + map_test = map_new(MAP_INT_INT, MAP_DEFAULT_CMP_FUNC, MAP_DEFAULT_FREE_FUNC); + ASSERT_NE(map_test, nullptr); + ASSERT_EQ(map_insert(map_test, &key, &value), true); + + key = 22; + value = 33; + ASSERT_EQ(map_insert(map_test, &key, &value), true); + + value_ptr = (int *)map_search(map_test, &key); + ASSERT_EQ(*value_ptr, 33); + + key = 44; + ASSERT_EQ(map_search(map_test, &key), nullptr); + + map_clear(map_test); +} + +TEST(map_map_ut, test_map_ptr) +{ + int *key_ptr = new int(3); + int *value_ptr = new int(5); + // map[ptr][ptr] + map_t *map_test = nullptr; + + map_test = map_new(MAP_PTR_PTR, MAP_DEFAULT_CMP_FUNC, ptr_ptr_map_kefree); + ASSERT_NE(map_test, nullptr); + ASSERT_EQ(map_insert(map_test, key_ptr, value_ptr), true); + ASSERT_EQ(map_search(map_test, key_ptr), value_ptr); + ASSERT_EQ(map_search(map_test, nullptr), nullptr); + + map_clear(map_test); + delete key_ptr; + delete value_ptr; +} diff --git a/test/cutils/utils_string/utils_string_ut.cc b/test/cutils/utils_string/utils_string_ut.cc index 8b6c61a6..0f8f0011 100644 --- a/test/cutils/utils_string/utils_string_ut.cc +++ b/test/cutils/utils_string/utils_string_ut.cc @@ -833,26 +833,33 @@ TEST(utils_string_ut, test_str_token) free(token); } -TEST(utils_string_ut, test_string_split_multi) +TEST(utils_string_ut, test_string_split_n) { char **result = nullptr; - ASSERT_EQ(util_string_split_multi(nullptr, ':'), nullptr); + ASSERT_EQ(util_string_split_n(nullptr, ':', 3), nullptr); + ASSERT_EQ(util_string_split_n("aa:bb", ':', 0), nullptr); - result = util_string_split_multi("", ':'); + result = util_string_split_n("", ':', 3); ASSERT_STREQ(result[0], ""); ASSERT_EQ(result[1], nullptr); util_free_array(result); - result = util_string_split_multi("abcd;", ':'); + result = util_string_split_n("abcd;", ':', 3); ASSERT_STREQ(result[0], "abcd;"); ASSERT_EQ(result[1], nullptr); util_free_array(result); - result = util_string_split_multi("abc:dd:e", ':'); + result = util_string_split_n("abc:dd:e", ':', 3); ASSERT_STREQ(result[0], "abc"); ASSERT_STREQ(result[1], "dd"); ASSERT_STREQ(result[2], "e"); ASSERT_EQ(result[3], nullptr); util_free_array(result); + + result = util_string_split_n("abc:dd:e", ':', 2); + ASSERT_STREQ(result[0], "abc"); + ASSERT_STREQ(result[1], "dd:e"); + ASSERT_EQ(result[2], nullptr); + util_free_array(result); } -- 2.25.1