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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
|
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* printf_tests_tests.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/02/06 18:15:38 by cacharle #+# #+# */
/* Updated: 2020/02/06 19:05:45 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
#include <stdlib.h>
#include "../header.h"
void test_printf_tests_test(void)
{
ASSERT_PRINTF("Hallo heimur");
ASSERT_PRINTF("%s", "Hallo heimur");
ASSERT_PRINTF("%d", 1024);
ASSERT_PRINTF("%d", -1024);
ASSERT_PRINTF("%i", 1024);
ASSERT_PRINTF("%i", -1024);
ASSERT_PRINTF("%u", 1024u);
ASSERT_PRINTF("%u", -1024u);
/* TEST("777", 3, "%o", 0777u) */
/* TEST("37777777001", 11, "%o", -0777u) */
ASSERT_PRINTF("%x", 0x1234abcdu);
ASSERT_PRINTF("%x", -0x1234abcdu);
ASSERT_PRINTF("%X", 0x1234abcdu);
ASSERT_PRINTF("%X", -0x1234abcdu);
ASSERT_PRINTF("%c", 'x');
ASSERT_PRINTF("%%");
ASSERT_PRINTF("%c", '\0');
#ifdef FT_PRINTF_TEST_BONUS
// ASSERT_PRINTF("%+s", "Hallo heimur");
ASSERT_PRINTF("%+d", 1024);
ASSERT_PRINTF("%+d", -1024);
ASSERT_PRINTF("%+i", 1024);
ASSERT_PRINTF("%+i", -1024);
// ASSERT_PRINTF("%+u", 1024u);
// ASSERT_PRINTF("%+u", -1024u);
// ASSERT_PRINTF("%+x", 0x1234abcdu);
// ASSERT_PRINTF("%+x", -0x1234abcdu);
// ASSERT_PRINTF("%+X", 0x1234abcdu);
// ASSERT_PRINTF("%+X", -0x1234abcdu);
// ASSERT_PRINTF("%+c", 'x');
// ASSERT_PRINTF("% s", "Hallo heimur");
ASSERT_PRINTF("% d", 1024);
ASSERT_PRINTF("% d", -1024);
ASSERT_PRINTF("% i", 1024);
ASSERT_PRINTF("% i", -1024);
// ASSERT_PRINTF("% u", 1024u);
// ASSERT_PRINTF("% u", -1024u);
/* TEST("777", 3, "% o", 0777u) */
/* TEST("37777777001", 11, "% o", -0777u) */
// ASSERT_PRINTF("% x", 0x1234abcdu);
// ASSERT_PRINTF("% x", -0x1234abcdu);
// ASSERT_PRINTF("% X", 0x1234abcdu);
// ASSERT_PRINTF("% X", -0x1234abcdu);
// ASSERT_PRINTF("% c", 'x');
////// ASSERT_PRINTF("%+ s", "Hallo heimur");
// ASSERT_PRINTF("%+ d", 1024);
// ASSERT_PRINTF("%+ d", -1024);
// ASSERT_PRINTF("%+ i", 1024);
// ASSERT_PRINTF("%+ i", -1024);
////// ASSERT_PRINTF("%+ u", 1024u);
////// ASSERT_PRINTF("%+ u", -1024u);
/* TEST("777", 3, "%+ o", 0777u) */
/* TEST("37777777001", 11, "%+ o", -0777u) */
////// ASSERT_PRINTF("%+ x", 0x1234abcdu);
////// ASSERT_PRINTF("%+ x", -0x1234abcdu);
////// ASSERT_PRINTF("%+ X", 0x1234abcdu);
////// ASSERT_PRINTF("%+ X", -0x1234abcdu);
////// ASSERT_PRINTF("%+ c", 'x');
/* TEST("0777", 4, "%#o", 0777u) */
/* TEST("037777777001", 12, "%#o", -0777u) */
ASSERT_PRINTF("%#x", 0x1234abcdu);
ASSERT_PRINTF("%#x", -0x1234abcdu);
ASSERT_PRINTF("%#X", 0x1234abcdu);
ASSERT_PRINTF("%#X", -0x1234abcdu);
/* TEST("0", 1, "%#o", 0u) */
ASSERT_PRINTF("%#x", 0u);
ASSERT_PRINTF("%#X", 0u);
ASSERT_PRINTF("%#20x", 0x1234abcdu);
ASSERT_PRINTF("%#20x", -0x1234abcdu);
ASSERT_PRINTF("%#20X", 0x1234abcdu);
ASSERT_PRINTF("%#20X", -0x1234abcdu);
ASSERT_PRINTF("%#020x", 0x1234abcdu);
ASSERT_PRINTF("%#020x", -0x1234abcdu);
ASSERT_PRINTF("%#020X", 0x1234abcdu);
ASSERT_PRINTF("%#020X", -0x1234abcdu);
////////// ASSERT_PRINTF("% -0+*.*s", 20, 5, "Hallo heimur");
//// ASSERT_PRINTF("% -0+*.*d", 20, 5, 1024);
//// ASSERT_PRINTF("% -0+*.*d", 20, 5, -1024);
//// ASSERT_PRINTF("% -0+*.*i", 20, 5, 1024);
//// ASSERT_PRINTF("% 0-+*.*i", 20, 5, -1024);
//////// ASSERT_PRINTF("% 0-+*.*u", 20, 5, 1024u);
//////// ASSERT_PRINTF("% 0-+*.*u", 20, 5, -1024u);
//////// ASSERT_PRINTF("%+ -0*.*x", 20, 5, 0x1234abcdu);
//////// ASSERT_PRINTF("%+ -0*.*x", 20, 10, -0x1234abcdu);
//////// ASSERT_PRINTF("% -+0*.*X", 20, 5, 0x1234abcdu);
//////// ASSERT_PRINTF("% -+0*.*X", 20, 10, -0x1234abcdu);
#endif
/* TEST("777", 3, "%+o", 0777u) */
/* TEST("37777777001", 11, "%+o", -0777u) */
ASSERT_PRINTF("%1s", "Hallo heimur");
ASSERT_PRINTF("%1d", 1024);
ASSERT_PRINTF("%1d", -1024);
ASSERT_PRINTF("%1i", 1024);
ASSERT_PRINTF("%1i", -1024);
ASSERT_PRINTF("%1u", 1024u);
ASSERT_PRINTF("%1u", -1024u);
/* TEST("777", 3, "%1o", 0777u) */
/* TEST("37777777001", 11, "%1o", -0777u) */
ASSERT_PRINTF("%1x", 0x1234abcdu);
ASSERT_PRINTF("%1x", -0x1234abcdu);
ASSERT_PRINTF("%1X", 0x1234abcdu);
ASSERT_PRINTF("%1X", -0x1234abcdu);
ASSERT_PRINTF("%1c", 'x');
ASSERT_PRINTF("%20s", "Hallo");
ASSERT_PRINTF("%20d", 1024);
ASSERT_PRINTF("%20d", -1024);
ASSERT_PRINTF("%20i", 1024);
ASSERT_PRINTF("%20i", -1024);
ASSERT_PRINTF("%20u", 1024u);
ASSERT_PRINTF("%20u", -1024u);
/* TEST(" 777", 20, "%20o", 0777u) */
/* TEST(" 37777777001", 20, "%20o", -0777u) */
ASSERT_PRINTF("%20x", 0x1234abcdu);
ASSERT_PRINTF("%20x", -0x1234abcdu);
ASSERT_PRINTF("%20X", 0x1234abcdu);
ASSERT_PRINTF("%20X", -0x1234abcdu);
ASSERT_PRINTF("%20c", 'x');
ASSERT_PRINTF("%-20d", 1024);
ASSERT_PRINTF("%-20d", -1024);
ASSERT_PRINTF("%-20i", 1024);
ASSERT_PRINTF("%-20i", -1024);
ASSERT_PRINTF("%-20u", 1024u);
ASSERT_PRINTF("%-20u", -1024u);
/* TEST("777 ", 20, "%-20o", 0777u) */
/* TEST("37777777001 ", 20, "%-20o", -0777u) */
ASSERT_PRINTF("%-20x", 0x1234abcdu);
ASSERT_PRINTF("%-20x", -0x1234abcdu);
ASSERT_PRINTF("%-20X", 0x1234abcdu);
ASSERT_PRINTF("%-20X", -0x1234abcdu);
ASSERT_PRINTF("%-20c", 'x');
ASSERT_PRINTF("%020d", 1024);
ASSERT_PRINTF("%020d", -1024);
ASSERT_PRINTF("%020i", 1024);
ASSERT_PRINTF("%020i", -1024);
ASSERT_PRINTF("%020u", 1024u);
ASSERT_PRINTF("%020u", -1024u);
/* TEST("00000000000000000777", 20, "%020o", 0777u) */
/* TEST("00000000037777777001", 20, "%020o", -0777u) */
ASSERT_PRINTF("%020x", 0x1234abcdu);
ASSERT_PRINTF("%020x", -0x1234abcdu);
ASSERT_PRINTF("%020X", 0x1234abcdu);
ASSERT_PRINTF("%020X", -0x1234abcdu);
/* TEST(" 0777", 20, "%#20o", 0777u) */
/* TEST(" 037777777001", 20, "%#20o", -0777u) */
/* TEST("00000000000000000777", 20, "%#020o", 0777u) */
/* TEST("00000000037777777001", 20, "%#020o", -0777u) */
//// ASSERT_PRINTF("%0-20s", "Hallo");
// ASSERT_PRINTF("%0-20d", 1024);
// ASSERT_PRINTF("%0-20d", -1024);
// ASSERT_PRINTF("%0-20i", 1024);
// ASSERT_PRINTF("%0-20i", -1024);
// ASSERT_PRINTF("%0-20u", 1024u);
// ASSERT_PRINTF("%0-20u", -1024u);
/* TEST("777 ", 20, "%-020o", 0777u) */
/* TEST("37777777001 ", 20, "%-020o", -0777u) */
// ASSERT_PRINTF("%-020x", 0x1234abcdu);
// ASSERT_PRINTF("%-020x", -0x1234abcdu);
// ASSERT_PRINTF("%-020X", 0x1234abcdu);
// ASSERT_PRINTF("%-020X", -0x1234abcdu);
//// ASSERT_PRINTF("%-020c", 'x');
ASSERT_PRINTF("%*s", 20, "Hallo");
ASSERT_PRINTF("%*d", 20, 1024);
ASSERT_PRINTF("%*d", 20, -1024);
ASSERT_PRINTF("%*i", 20, 1024);
ASSERT_PRINTF("%*i", 20, -1024);
ASSERT_PRINTF("%*u", 20, 1024u);
ASSERT_PRINTF("%*u", 20, -1024u);
/* TEST(" 777", 20, "%*o", 20, 0777u) */
/* TEST(" 37777777001", 20, "%*o", 20, -0777u) */
ASSERT_PRINTF("%*x", 20, 0x1234abcdu);
ASSERT_PRINTF("%*x", 20, -0x1234abcdu);
ASSERT_PRINTF("%*X", 20, 0x1234abcdu);
ASSERT_PRINTF("%*X", 20, -0x1234abcdu);
ASSERT_PRINTF("%*c", 20, 'x');
ASSERT_PRINTF("%.20s", "Hallo heimur");
ASSERT_PRINTF("%.20d", 1024);
ASSERT_PRINTF("%.20d", -1024);
ASSERT_PRINTF("%.20i", 1024);
ASSERT_PRINTF("%.20i", -1024);
ASSERT_PRINTF("%.20u", 1024u);
ASSERT_PRINTF("%.20u", -1024u);
/* TEST("00000000000000000777", 20, "%.20o", 0777u) */
/* TEST("00000000037777777001", 20, "%.20o", -0777u) */
ASSERT_PRINTF("%.20x", 0x1234abcdu);
ASSERT_PRINTF("%.20x", -0x1234abcdu);
ASSERT_PRINTF("%.20X", 0x1234abcdu);
ASSERT_PRINTF("%.20X", -0x1234abcdu);
ASSERT_PRINTF("%20.5s", "Hallo heimur");
ASSERT_PRINTF("%20.5d", 1024);
ASSERT_PRINTF("%20.5d", -1024);
ASSERT_PRINTF("%20.5i", 1024);
ASSERT_PRINTF("%20.5i", -1024);
ASSERT_PRINTF("%20.5u", 1024u);
ASSERT_PRINTF("%20.5u", -1024u);
/* TEST(" 00777", 20, "%20.5o", 0777u) */
/* TEST(" 37777777001", 20, "%20.5o", -0777u) */
ASSERT_PRINTF("%20.5x", 0x1234abcdu);
ASSERT_PRINTF("%20.10x", -0x1234abcdu);
ASSERT_PRINTF("%20.5X", 0x1234abcdu);
ASSERT_PRINTF("%20.10X", -0x1234abcdu);
// ASSERT_PRINTF("%020.5s", "Hallo heimur");
ASSERT_PRINTF("%020.5d", 1024);
ASSERT_PRINTF("%020.5d", -1024);
ASSERT_PRINTF("%020.5i", 1024);
ASSERT_PRINTF("%020.5i", -1024);
ASSERT_PRINTF("%020.5u", 1024u);
ASSERT_PRINTF("%020.5u", -1024u);
/* TEST(" 00777", 20, "%020.5o", 0777u) */
/* TEST(" 37777777001", 20, "%020.5o", -0777u) */
ASSERT_PRINTF("%020.5x", 0x1234abcdu);
ASSERT_PRINTF("%020.10x", -0x1234abcdu);
ASSERT_PRINTF("%020.5X", 0x1234abcdu);
ASSERT_PRINTF("%020.10X", -0x1234abcdu);
ASSERT_PRINTF("%.0s", "Hallo heimur");
ASSERT_PRINTF("%20.0s", "Hallo heimur");
ASSERT_PRINTF("%.s", "Hallo heimur");
ASSERT_PRINTF("%20.s", "Hallo heimur");
ASSERT_PRINTF("%20.0d", 1024);
ASSERT_PRINTF("%20.d", -1024);
ASSERT_PRINTF("%20.d", 0);
ASSERT_PRINTF("%20.0i", 1024);
ASSERT_PRINTF("%20.i", -1024);
ASSERT_PRINTF("%20.i", <
|