test_string.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include "crucible/core.hpp" #include "crucible/test.hpp" namespace crucible::core { String const EMPTY_STRING; String const SMALL_STRING { "g\U000000e2teau \U0001f382 \U00002713" }; constexpr String_View SMALL_STRING_VIEW { "g\U000000e2teau \U0001f382 \U00002713" }; CRUCIBLE_TEST_SCENARIO(empty_string) { CRUCIBLE_CORE_ASSERT_PROPERTY(EMPTY_STRING, EMPTY_STRING.is_empty()); } CRUCIBLE_TEST_SCENARIO(string_has_prefix) { CRUCIBLE_CORE_ASSERT_PROPERTY(SMALL_STRING, SMALL_STRING.has_prefix("g\U000000e2")); } CRUCIBLE_TEST_SCENARIO(string_has_suffix) { CRUCIBLE_CORE_ASSERT_PROPERTY(SMALL_STRING, SMALL_STRING.has_suffix(" \U0001f382 \U00002713")); } CRUCIBLE_TEST_SCENARIO(string_view_has_prefix) { CRUCIBLE_CORE_ASSERT_PROPERTY(SMALL_STRING_VIEW, SMALL_STRING_VIEW.has_prefix("g\U000000e2")); } CRUCIBLE_TEST_SCENARIO(string_view_has_suffix) { CRUCIBLE_CORE_ASSERT_PROPERTY(SMALL_STRING_VIEW, SMALL_STRING_VIEW.has_suffix(" \U0001f382 \U00002713")); } } CRUCIBLE_TEST_MAIN