Skip to content

Commit 86d8d09

Browse files
committed
Split the test cases
1 parent 0e51e89 commit 86d8d09

File tree

2 files changed

+87
-71
lines changed

2 files changed

+87
-71
lines changed

test.c

Lines changed: 80 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -43,79 +43,85 @@ static Buffer buffer = {
4343
.data = static_memory_for_buffer
4444
};
4545

46-
void case_01(Jim *jim)
46+
void null_case(Jim *jim)
4747
{
48-
jim_object_begin(jim);
49-
{
50-
jim_member_key(jim, "keys", NULL);
51-
jim_array_begin(jim);
52-
{
53-
for (int key = 0; key < 10; ++key) {
54-
jim_integer(jim, key);
55-
}
56-
}
57-
jim_array_end(jim);
58-
59-
jim_member_key(jim, "names", NULL);
60-
jim_array_begin(jim);
61-
{
62-
jim_string(jim, "foo", NULL);
63-
jim_string(jim, "bar", NULL);
64-
jim_string(jim, "baz", NULL);
65-
}
66-
jim_array_end(jim);
48+
jim_array_begin(jim);
49+
jim_null(jim);
50+
jim_array_end(jim);
51+
}
52+
53+
void bool_case(Jim *jim)
54+
{
55+
jim_array_begin(jim);
56+
jim_bool(jim, 0);
57+
jim_bool(jim, 1);
58+
jim_array_end(jim);
59+
}
60+
61+
void integer_case(Jim *jim)
62+
{
63+
jim_array_begin(jim);
64+
for (int i = -10; i <= 10; ++i) {
65+
jim_integer(jim, i);
6766
}
68-
jim_object_end(jim);
67+
jim_array_end(jim);
6968
}
7069

71-
void case_02(Jim *jim)
70+
void float_case(Jim *jim)
7271
{
73-
jim_object_begin(jim);
74-
{
75-
jim_member_key(jim, "null", NULL);
76-
jim_null(jim);
77-
78-
jim_member_key(jim, "bool", NULL);
79-
jim_array_begin(jim);
80-
{
81-
jim_bool(jim, 0);
82-
jim_bool(jim, 1);
83-
}
84-
jim_array_end(jim);
85-
86-
jim_member_key(jim, "integers", NULL);
87-
jim_array_begin(jim);
88-
{
89-
for (int i = -3; i <= 3; ++i) {
90-
jim_integer(jim, i);
91-
}
92-
}
93-
jim_array_end(jim);
94-
95-
jim_member_key(jim, "floats", NULL);
96-
jim_array_begin(jim);
97-
{
98-
jim_float(jim, 0.0, 4);
99-
jim_float(jim, -0.0, 4);
100-
jim_float(jim, 3.1415, 4);
101-
jim_float(jim, 2.71828, 5);
102-
jim_float(jim, 1.6180, 4);
103-
jim_float(jim, 0.0 / 0.0, 4);
104-
jim_float(jim, 1.0 / 0.0, 4);
105-
jim_float(jim, -1.0 / 0.0, 4);
106-
}
107-
jim_array_end(jim);
108-
109-
jim_member_key(jim, "string", NULL);
110-
jim_array_begin(jim);
111-
{
112-
jim_string(jim, "Hello\tWorld\n", NULL);
113-
unsigned int size = 4;
114-
jim_string(jim, "\0\0\0\0", &size);
115-
}
116-
jim_array_end(jim);
72+
jim_array_begin(jim);
73+
jim_float(jim, 0.0, 4);
74+
jim_float(jim, -0.0, 4);
75+
jim_float(jim, 3.1415, 4);
76+
jim_float(jim, 2.71828, 5);
77+
jim_float(jim, 1.6180, 1);
78+
jim_float(jim, 0.0 / 0.0, 4);
79+
jim_float(jim, 1.0 / 0.0, 4);
80+
jim_float(jim, -1.0 / 0.0, 4);
81+
jim_array_end(jim);
82+
}
83+
84+
void string_case(Jim *jim)
85+
{
86+
jim_array_begin(jim);
87+
jim_string(jim, "hello", NULL);
88+
jim_string(jim, "world", NULL);
89+
jim_string(jim, "\n\b\t", NULL);
90+
const unsigned int size = 4;
91+
jim_string(jim, "\0\0\0\0", &size);
92+
jim_array_end(jim);
93+
}
94+
95+
void array_case(Jim *jim)
96+
{
97+
jim_array_begin(jim);
98+
99+
for (int n = 1; n <= 5; ++n) {
100+
for (int i = 0; i < n; ++i) jim_array_begin(jim);
101+
for (int i = 0; i < n; ++i) jim_array_end(jim);
102+
}
103+
104+
jim_array_end(jim);
105+
}
106+
107+
void object_case_rec(Jim *jim, int level, int *counter)
108+
{
109+
if (level < 3) {
110+
jim_object_begin(jim);
111+
jim_member_key(jim, "l", NULL);
112+
object_case_rec(jim, level + 1, counter);
113+
jim_member_key(jim, "r", NULL);
114+
object_case_rec(jim, level + 1, counter);
115+
jim_object_end(jim);
116+
} else {
117+
jim_integer(jim, (*counter)++);
117118
}
118-
jim_object_end(jim);
119+
}
120+
121+
void object_case(Jim *jim)
122+
{
123+
int counter = 0;
124+
object_case_rec(jim, 0, &counter);
119125
}
120126

121127
typedef struct {
@@ -130,8 +136,13 @@ typedef struct {
130136
}
131137

132138
const Test_Case test_cases[] = {
133-
TEST_CASE(case_01),
134-
TEST_CASE(case_02)
139+
TEST_CASE(null_case),
140+
TEST_CASE(bool_case),
141+
TEST_CASE(integer_case),
142+
TEST_CASE(float_case),
143+
TEST_CASE(string_case),
144+
TEST_CASE(array_case),
145+
TEST_CASE(object_case),
135146
};
136147

137148
void record(const char *header_path)

test_expected.h

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
const char *test_cases_expected[] = {
2-
"{\"keys\":[0,1,2,3,4,5,6,7,8,9],\"names\":[\"foo\",\"bar\",\"baz\"]}",
3-
"{\"null\":null,\"bool\":[false,true],\"integers\":[-3,-2,-1,0,1,2,3],\"floats\":[0.0,0.0,3.1415,2.71828,1.6180,null,null,null],\"string\":[\"Hello\\tWorld\\n\",\"\\u0000\\u0000\\u0000\\u0000\"]}",
2+
"[null]",
3+
"[false,true]",
4+
"[-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10]",
5+
"[0.0,0.0,3.1415,2.71828,1.6,null,null,null]",
6+
"[\"hello\",\"world\",\"\\n\\b\\t\",\"\\u0000\\u0000\\u0000\\u0000\"]",
7+
"[[],[[]],[[[]]],[[[[]]]],[[[[[]]]]]]",
8+
"{\"l\":{\"l\":{\"l\":0,\"r\":1},\"r\":{\"l\":2,\"r\":3}},\"r\":{\"l\":{\"l\":4,\"r\":5},\"r\":{\"l\":6,\"r\":7}}}",
49
};

0 commit comments

Comments
 (0)