libft
Loading...
Searching...
No Matches
test_gnl.c
Go to the documentation of this file.
1#include "unity.h"
2#include "get_next_line.h"
3#include <fcntl.h>
4
6{
7 int fd = open("text/threelines", O_RDWR);
8 char *expected;
9 char *actual;
10
11 expected = "Process 34258 launched:\n";
12 actual = get_next_line(fd);
13 TEST_ASSERT_EQUAL_STRING(expected, actual);
14 free(actual);
15
16 expected = "\n";
17 actual = get_next_line(fd);
18 TEST_ASSERT_EQUAL_STRING(expected, actual);
19 free(actual);
20
21 expected = "Process 34258 stopped\n";
22 actual = get_next_line(fd);
23 TEST_ASSERT_EQUAL_STRING(expected, actual);
24 free(actual);
25
26 expected = NULL;
27 actual = get_next_line(fd);
28 TEST_ASSERT_EQUAL_STRING(expected, actual);
29 free(actual);
30 close(fd);
31}
32
34{
35 int fd = open("text/41_with_nl", O_RDWR);
36 char *expected;
37 char *actual;
38
39 expected = "0123456789012345678901234567890123456789\n";
40 actual = get_next_line(fd);
41 TEST_ASSERT_EQUAL_STRING(expected, actual);
42 free(actual);
43
44 expected = "0";
45 actual = get_next_line(fd);
46 TEST_ASSERT_EQUAL_STRING(expected, actual);
47 free(actual);
48
49 expected = NULL;
50 actual = get_next_line(fd);
51 TEST_ASSERT_EQUAL_STRING(expected, actual);
52 free(actual);
53 close(fd);
54}
55
57{
58 int fd = open("text/empty", O_RDWR);
59 char *expected = NULL;
60
61 char *actual = get_next_line(fd);
62 TEST_ASSERT_EQUAL_STRING(expected, actual);
63 free(actual);
64 close(fd);
65}
66
68{
69 int fd = open("text/nonewline_short", O_RDWR);
70 char *expected = "01234567890123456789012345678901234567890";
71 char *actual = get_next_line(fd);
72 TEST_ASSERT_EQUAL_STRING(expected, actual);
73 // free(actual);
74 close(fd);
75}
76
78{
79 int fd = open("text/nonewline_long", O_RDWR);
80 char *expected = "0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789";
81 char *actual = get_next_line(fd);
82 TEST_ASSERT_EQUAL_STRING(expected, actual);
83 free(actual);
84 close(fd);
85}
86
88{
89 int fd = open("text/41_with_nl", O_RDWR);
90 char *expected;
91 char *actual;
92
93 expected = "0123456789012345678901234567890123456789\n";
94 actual = get_next_line(fd);
95 TEST_ASSERT_EQUAL_STRING(expected, actual);
96 free(actual);
97
98 expected = "0";
99 actual = get_next_line(fd);
100 TEST_ASSERT_EQUAL_STRING(expected, actual);
101 free(actual);
102
103 expected = NULL;
104 actual = get_next_line(fd);
105 TEST_ASSERT_EQUAL_STRING(expected, actual);
106 free(actual);
107 close(fd);
108
109 expected = NULL;
110 actual = get_next_line(fd);
111 TEST_ASSERT_EQUAL_STRING(expected, actual);
112 free(actual);
113 close(fd);
114
115 expected = NULL;
116 actual = get_next_line(fd);
117 TEST_ASSERT_EQUAL_STRING(expected, actual);
118 free(actual);
119 close(fd);
120}
121
123{
124 int fd = open("text/41_with_nl", O_RDWR);
125 int fd1 = open("text/41_with_nl", O_RDWR);
126 int fd2 = open("text/41_with_nl", O_RDWR);
127 char *expected;
128 char *actual;
129
130 expected = "0123456789012345678901234567890123456789\n";
131 actual = get_next_line(fd);
132 TEST_ASSERT_EQUAL_STRING(expected, actual);
133 free(actual);
134
135 expected = "0123456789012345678901234567890123456789\n";
136 actual = get_next_line(fd1);
137 TEST_ASSERT_EQUAL_STRING(expected, actual);
138 free(actual);
139
140 expected = "0";
141 actual = get_next_line(fd);
142 TEST_ASSERT_EQUAL_STRING(expected, actual);
143 free(actual);
144
145 expected = NULL;
146 actual = get_next_line(fd);
147 TEST_ASSERT_EQUAL_STRING(expected, actual);
148 free(actual);
149
150 expected = "0123456789012345678901234567890123456789\n";
151 actual = get_next_line(fd2);
152 TEST_ASSERT_EQUAL_STRING(expected, actual);
153 free(actual);
154
155 expected = "0";
156 actual = get_next_line(fd1);
157 TEST_ASSERT_EQUAL_STRING(expected, actual);
158 free(actual);
159
160 expected = NULL;
161 actual = get_next_line(fd);
162 TEST_ASSERT_EQUAL_STRING(expected, actual);
163 free(actual);
164
165 expected = NULL;
166 actual = get_next_line(fd1);
167 TEST_ASSERT_EQUAL_STRING(expected, actual);
168 free(actual);
169
170 expected = NULL;
171 actual = get_next_line(fd);
172 TEST_ASSERT_EQUAL_STRING(expected, actual);
173 free(actual);
174
175 expected = "0";
176 actual = get_next_line(fd2);
177 TEST_ASSERT_EQUAL_STRING(expected, actual);
178 free(actual);
179
180 expected = NULL;
181 actual = get_next_line(fd2);
182 TEST_ASSERT_EQUAL_STRING(expected, actual);
183 free(actual);
184
185 expected = NULL;
186 actual = get_next_line(fd2);
187 TEST_ASSERT_EQUAL_STRING(expected, actual);
188 free(actual);
189
190 expected = NULL;
191 actual = get_next_line(fd1);
192 TEST_ASSERT_EQUAL_STRING(expected, actual);
193 free(actual);
194
195
196 close(fd);
197 close(fd1);
198 close(fd2);
199}
200
202{
203 char *expected;
204 char *actual;
205
206 expected = NULL;
207 actual = get_next_line(1050);
208 TEST_ASSERT_EQUAL_STRING(expected, actual);
209 free(actual);
210}
211
212int test_gnl(void)
213{
214 UNITY_BEGIN();
217 // RUN_TEST(test_no_newline_short_should_be_equal);
223
224 return UNITY_END();
225}
char * get_next_line(int fd)
Gets next line from a file.
int test_gnl(void)
Definition test_gnl.c:212
void test_big_fd_should_be_equal(void)
Definition test_gnl.c:201
void test_threelines_should_be_equal(void)
Definition test_gnl.c:5
void test_41_with_nl_should_be_equal(void)
Definition test_gnl.c:33
void test_empty_should_be_equal(void)
Definition test_gnl.c:56
void test_no_newline_long_should_be_equal(void)
Definition test_gnl.c:77
void test_multiple_calls_mixed_should_be_equal(void)
Definition test_gnl.c:122
void test_no_newline_short_should_be_equal(void)
Definition test_gnl.c:67
void test_multiple_calls_should_be_equal(void)
Definition test_gnl.c:87
#define TEST_ASSERT_EQUAL_STRING(expected, actual)
Definition unity.h:290
#define RUN_TEST(func)
#define UNITY_END()
#define UNITY_BEGIN()