@@ -11,14 +11,8 @@ Author: Thomas Kiley
11
11
12
12
TEST_CASE (" label" , " [core][util][structured_data][label]" )
13
13
{
14
- SECTION (" Empty label" )
15
- {
16
- labelt empty_label ({});
17
- REQUIRE (empty_label.camel_case () == " " );
18
- REQUIRE (empty_label.kebab_case () == " " );
19
- REQUIRE (empty_label.snake_case () == " " );
20
- REQUIRE (empty_label.pretty () == " " );
21
- }
14
+ const cbmc_invariants_should_throwt invariant_throw_during_tests{};
15
+
22
16
SECTION (" Single element" )
23
17
{
24
18
labelt empty_label ({" hello" });
@@ -35,42 +29,36 @@ TEST_CASE("label", "[core][util][structured_data][label]")
35
29
REQUIRE (empty_label.snake_case () == " hello_goodbye" );
36
30
REQUIRE (empty_label.pretty () == " Hello goodbye" );
37
31
}
38
- SECTION (" Odd casing elements " )
32
+ SECTION (" Valid labels " )
39
33
{
40
- labelt empty_label ({" HelLo" , " Goodbye" });
41
- REQUIRE (empty_label.camel_case () == " helloGoodbye" );
42
- REQUIRE (empty_label.kebab_case () == " hello-goodbye" );
43
- REQUIRE (empty_label.snake_case () == " hello_goodbye" );
44
- REQUIRE (empty_label.pretty () == " Hello goodbye" );
34
+ labelt numbered_label ({" hello" , " 1" });
35
+ REQUIRE (numbered_label.camel_case () == " hello1" );
36
+ REQUIRE (numbered_label.kebab_case () == " hello-1" );
37
+ REQUIRE (numbered_label.snake_case () == " hello_1" );
38
+ REQUIRE (numbered_label.pretty () == " Hello 1" );
39
+ }
40
+ SECTION (" Invalid components" )
41
+ {
42
+ REQUIRE_THROWS_AS (labelt{{}}, invariant_failedt);
43
+ std::vector<std::string> starts_with_upper{" Hello" };
44
+ REQUIRE_THROWS_AS (labelt{starts_with_upper}, invariant_failedt);
45
+ std::vector<std::string> contains_upper{" Hello" };
46
+ REQUIRE_THROWS_AS (labelt{contains_upper}, invariant_failedt);
47
+ REQUIRE_THROWS_AS (labelt{{" " }}, invariant_failedt);
45
48
}
46
49
}
47
50
48
51
TEST_CASE (" Label equality" , " [core][util][structured_data][label]" )
49
52
{
50
- labelt empty_label ({});
51
53
labelt single_label ({" a" });
52
- labelt capital_label ({" A" });
53
54
labelt b_label ({" b" });
54
55
labelt multi_label ({" b" , " c" , " d" });
55
56
labelt multi_label2 ({" b" , " d" , " d" });
56
57
57
- REQUIRE (empty_label < single_label);
58
- REQUIRE (empty_label < capital_label);
59
- REQUIRE (empty_label < b_label);
60
- REQUIRE (empty_label < multi_label);
61
- REQUIRE (empty_label < multi_label2);
62
-
63
- REQUIRE_FALSE (single_label < capital_label);
64
- REQUIRE_FALSE (capital_label < single_label);
65
-
66
58
REQUIRE (single_label < b_label);
67
59
REQUIRE (single_label < multi_label);
68
60
REQUIRE (single_label < multi_label2);
69
61
70
- REQUIRE (capital_label < b_label);
71
- REQUIRE (capital_label < multi_label);
72
- REQUIRE (capital_label < multi_label2);
73
-
74
62
REQUIRE (b_label < multi_label);
75
63
REQUIRE (b_label < multi_label2);
76
64
0 commit comments