| 588 | } |
| 589 | |
| 590 | static void test_string(const char *value) { |
| 591 | size_t size = value ? strlen(value) : 0; |
| 592 | |
| 593 | pn_string_t *str = pn_string(value); |
| 594 | CHECK_THAT(value, Equals(pn_string_get(str))); |
| 595 | CHECK(size == pn_string_size(str)); |
| 596 | |
| 597 | pn_string_t *strn = pn_stringn(value, size); |
| 598 | CHECK_THAT(value, Equals(pn_string_get(strn))); |
| 599 | CHECK(size == pn_string_size(strn)); |
| 600 | |
| 601 | pn_string_t *strset = pn_string(NULL); |
| 602 | pn_string_set(strset, value); |
| 603 | CHECK_THAT(value, Equals(pn_string_get(strset))); |
| 604 | CHECK(size == pn_string_size(strset)); |
| 605 | |
| 606 | pn_string_t *strsetn = pn_string(NULL); |
| 607 | pn_string_setn(strsetn, value, size); |
| 608 | CHECK_THAT(value, Equals(pn_string_get(strsetn))); |
| 609 | CHECK(size == pn_string_size(strsetn)); |
| 610 | |
| 611 | CHECK(pn_hashcode(str) == pn_hashcode(strn)); |
| 612 | CHECK(pn_hashcode(str) == pn_hashcode(strset)); |
| 613 | CHECK(pn_hashcode(str) == pn_hashcode(strsetn)); |
| 614 | |
| 615 | CHECK(!pn_compare(str, str)); |
| 616 | CHECK(!pn_compare(str, strn)); |
| 617 | CHECK(!pn_compare(str, strset)); |
| 618 | CHECK(!pn_compare(str, strsetn)); |
| 619 | |
| 620 | pn_free(str); |
| 621 | pn_free(strn); |
| 622 | pn_free(strset); |
| 623 | pn_free(strsetn); |
| 624 | } |
| 625 | |
| 626 | TEST_CASE("string_null") { test_string(NULL); } |
| 627 | TEST_CASE("string_empty") { test_string(""); } |
no test coverage detected