Skip to content

Commit e6e87ec

Browse files
committed
buffer io int tests
1 parent 99ae16f commit e6e87ec

File tree

1 file changed

+124
-0
lines changed

1 file changed

+124
-0
lines changed

src/buffer_test.c

Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,128 @@ Test(buffer, buffer_free) {
2323
ion_buffer_free(buffer);
2424
}
2525

26+
Test(buffer, buffer_io_u0) {
27+
t_ion_result_code result;
28+
t_ion_buffer *buffer;
29+
30+
buffer = ion_buffer_new();
31+
cr_expect(buffer != NULL);
32+
33+
result = ion_buffer_io_write_u0(buffer);
34+
cr_expect(result == RESULT_OK);
35+
36+
result = ion_buffer_io_read_u0(buffer);
37+
cr_expect(result == RESULT_OK);
38+
39+
ion_buffer_free(buffer);
40+
}
41+
42+
Test(buffer, buffer_io_u8) {
43+
t_ion_result_code result;
44+
t_ion_buffer *buffer;
45+
uint8_t value;
46+
47+
buffer = ion_buffer_new();
48+
cr_expect(buffer != NULL);
49+
50+
for (uint8_t x = 0; x < UINT8_MAX; x++) {
51+
value = x;
52+
53+
result = ion_buffer_io_write_u8(buffer, value);
54+
cr_expect(result == RESULT_OK);
55+
}
56+
57+
for (uint8_t x = 0; x < UINT8_MAX; x++) {
58+
value = 0;
59+
60+
result = ion_buffer_io_read_u8(buffer, &value);
61+
cr_expect(result == RESULT_OK);
62+
63+
cr_expect(value == x);
64+
}
65+
66+
ion_buffer_free(buffer);
67+
}
68+
69+
Test(buffer, buffer_io_u16) {
70+
t_ion_result_code result;
71+
t_ion_buffer *buffer;
72+
uint16_t value;
73+
74+
buffer = ion_buffer_new();
75+
cr_expect(buffer != NULL);
76+
77+
for (uint16_t x = 0; x < UINT16_MAX; x++) {
78+
value = x;
79+
80+
result = ion_buffer_io_write_u16(buffer, value);
81+
cr_expect(result == RESULT_OK);
82+
}
83+
84+
for (uint16_t x = 0; x < UINT16_MAX; x++) {
85+
value = 0;
86+
87+
result = ion_buffer_io_read_u16(buffer, &value);
88+
cr_expect(result == RESULT_OK);
89+
90+
cr_expect(value == x);
91+
}
92+
93+
ion_buffer_free(buffer);
94+
}
95+
96+
Test(buffer, buffer_io_u32) {
97+
t_ion_result_code result;
98+
t_ion_buffer *buffer;
99+
uint32_t value;
100+
101+
buffer = ion_buffer_new();
102+
cr_expect(buffer != NULL);
103+
104+
for (uint32_t x = 0; x < UINT16_MAX; x++) {
105+
value = x;
106+
107+
result = ion_buffer_io_write_u32(buffer, value);
108+
cr_expect(result == RESULT_OK);
109+
}
110+
111+
for (uint32_t x = 0; x < UINT16_MAX; x++) {
112+
value = 0;
113+
114+
result = ion_buffer_io_read_u32(buffer, &value);
115+
cr_expect(result == RESULT_OK);
116+
117+
cr_expect(value == x);
118+
}
119+
120+
ion_buffer_free(buffer);
121+
}
122+
123+
Test(buffer, buffer_io_u64) {
124+
t_ion_result_code result;
125+
t_ion_buffer *buffer;
126+
uint64_t value;
127+
128+
buffer = ion_buffer_new();
129+
cr_expect(buffer != NULL);
130+
131+
for (uint64_t x = 0; x < UINT16_MAX; x++) {
132+
value = x;
133+
134+
result = ion_buffer_io_write_u64(buffer, value);
135+
cr_expect(result == RESULT_OK);
136+
}
137+
138+
for (uint64_t x = 0; x < UINT16_MAX; x++) {
139+
value = 0;
140+
141+
result = ion_buffer_io_read_u64(buffer, &value);
142+
cr_expect(result == RESULT_OK);
143+
144+
cr_expect(value == x);
145+
}
146+
147+
ion_buffer_free(buffer);
148+
}
149+
26150
#endif

0 commit comments

Comments
 (0)