/** * Copyright (C) Mellanox Technologies Ltd. 2001-2019. ALL RIGHTS RESERVED. * * See file LICENSE for terms. */ #include extern "C" { #include #include #include } class test_string : public ucs::test { }; UCS_TEST_F(test_string, trim) { char str1[] = " foo "; EXPECT_EQ("foo", std::string(ucs_strtrim(str1))); char str2[] = " foo foo "; EXPECT_EQ("foo foo", std::string(ucs_strtrim(str2))); } class test_string_buffer : public ucs::test { }; UCS_TEST_F(test_string_buffer, appendf) { ucs_string_buffer_t strb; ucs_string_buffer_init(&strb); ucs_string_buffer_appendf(&strb, "%s", "We,"); ucs_string_buffer_appendf(&strb, "%s", " Created,"); ucs_string_buffer_appendf(&strb, "%s-%s", " The", "Monster"); EXPECT_EQ("We, Created, The-Monster", std::string(ucs_string_buffer_cstr(&strb))); ucs_string_buffer_cleanup(&strb); } UCS_TEST_F(test_string_buffer, rtrim) { static const char *test_string = "wabbalubbadabdab"; ucs_string_buffer_t strb; ucs_string_buffer_init(&strb); ucs_string_buffer_appendf(&strb, "%s%s", test_string, ",,"); ucs_string_buffer_rtrim(&strb, ","); EXPECT_EQ(std::string(test_string), ucs_string_buffer_cstr(&strb)); ucs_string_buffer_cleanup(&strb); ucs_string_buffer_init(&strb); ucs_string_buffer_appendf(&strb, "%s%s", test_string, " \t \n \r "); ucs_string_buffer_rtrim(&strb, NULL); EXPECT_EQ(std::string(test_string), ucs_string_buffer_cstr(&strb)); ucs_string_buffer_cleanup(&strb); } class test_string_set : public ucs::test { }; UCS_TEST_F(test_string_set, add) { ucs_string_set_t sset; ucs_string_set_init(&sset); ucs_string_set_add(&sset, "We"); ucs_string_set_addf(&sset, "%s", "Created"); ucs_string_set_addf(&sset, "%s-%s", "The", "Monster"); EXPECT_TRUE (ucs_string_set_contains(&sset, "We")); EXPECT_FALSE(ucs_string_set_contains(&sset, "Created ")); EXPECT_TRUE (ucs_string_set_contains(&sset, "Created")); ucs_string_buffer_t strb; ucs_string_buffer_init(&strb); ucs_string_set_print_sorted(&sset, &strb, ","); EXPECT_EQ("Created,The-Monster,We", std::string(ucs_string_buffer_cstr(&strb))); ucs_string_buffer_cleanup(&strb); ucs_string_set_cleanup(&sset); }