-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathtest_solution.py
More file actions
397 lines (344 loc) · 17.2 KB
/
test_solution.py
File metadata and controls
397 lines (344 loc) · 17.2 KB
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
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
from unittest import TestCase
from solution import solution
class TestSolution(TestCase):
def test_solution_01(self):
self.assertEqual(
solution("apples, pears # and bananas\ngrapes\nbananas !apples",
['#', '!']), "apples, pears\ngrapes\nbananas")
def test_solution_02(self):
self.assertEqual(solution("a #b\nc\nd $e f g", ['#', '$']), "a\nc\nd")
def test_solution_03(self):
self.assertEqual(
solution(
"apples, pears # and bananas\ngrapes\nbananas !#apples",
['#', '!']), "apples, pears\ngrapes\nbananas")
def test_solution_04(self):
self.assertEqual(
solution(
"apples, pears # and bananas\ngrapes\nbananas #!apples",
['#', '!']), "apples, pears\ngrapes\nbananas")
def test_solution_05(self):
self.assertEqual(
solution("apples, pears # and bananas\ngrapes\navocado @apples",
['@', '!']),
"apples, pears # and bananas\ngrapes\navocado")
def test_solution_06(self):
self.assertEqual(
solution("apples, pears § and bananas\ngrapes\navocado *apples",
['*', '§']), "apples, pears\ngrapes\navocado")
def test_solution_07(self):
self.assertEqual(solution("", ['#', '!']), "")
def test_solution_08(self):
self.assertEqual(solution("#", ['#', '!']), "")
def test_solution_09(self):
self.assertEqual(solution("\n§", ['#', '§']), "\n")
def test_solution_10(self):
self.assertEqual(
solution("apples, pears # and bananas\ngrapes\nbananas !apples",
[]),
"apples, pears # and bananas\ngrapes\nbananas !apples")
def test_solution_11(self):
self.assertEqual(solution(
"cherries lemons cherries\nlemons strawberries\navocados pears "
"apples",
['=', "'", '!', '@']),
"cherries lemons cherries\nlemons "
"strawberries\navocados pears apples")
def test_solution_12(self):
self.assertEqual(solution(
". strawberries apples watermelons\noranges\nstrawberries "
"bananas\n= lemons ' bananas\ncherries strawberries bananas",
['^', '=', '#']),
". strawberries apples "
"watermelons\noranges\nstrawberries "
"bananas\n\ncherries strawberries bananas")
def test_solution_13(self):
self.assertEqual(solution(
"watermelons watermelons apples\n# apples\noranges\nlemons "
"bananas strawberries oranges =\n! bananas cherries bananas",
['?']),
"watermelons watermelons apples\n# "
"apples\noranges\nlemons bananas strawberries "
"oranges =\n! bananas cherries bananas")
def test_solution_14(self):
self.assertEqual(solution(
"lemons lemons oranges\nstrawberries avocados\ncherries @ "
"pears\nstrawberries pears avocados pears cherries\napples "
"watermelons pears bananas",
['#']),
"lemons lemons oranges\nstrawberries "
"avocados\ncherries @ pears\nstrawberries pears "
"avocados pears cherries\napples watermelons pears "
"bananas")
def test_solution_15(self):
self.assertEqual(solution(
"oranges bananas oranges\navocados ?\nstrawberries\nbananas "
"watermelons\npears oranges oranges pears",
['.', "'", '#', '?']),
"oranges bananas "
"oranges\navocados\nstrawberries\nbananas "
"watermelons\npears oranges oranges pears")
def test_solution_16(self):
self.assertEqual(solution(
"apples strawberries , avocados\n?\nwatermelons apples "
"=\navocados # apples strawberries ' ",
['!', '=', ',', '.', '?']),
"apples strawberries\n\nwatermelons apples\navocados "
"# apples strawberries '")
def test_solution_17(self):
self.assertEqual(solution(
"strawberries apples apples watermelons\ncherries pears "
"pears\n^",
['.', "'", '@']),
"strawberries apples apples watermelons\ncherries "
"pears pears\n^")
def test_solution_18(self):
self.assertEqual(solution(
"cherries apples apples\ncherries oranges watermelons\nbananas "
"bananas\nbananas pears oranges\nstrawberries ' bananas",
['?', '-', "'", '.', ',', '!']),
"cherries apples apples\ncherries oranges "
"watermelons\nbananas bananas\nbananas pears "
"oranges\nstrawberries")
def test_solution_19(self):
self.assertEqual(solution(
"bananas bananas apples lemons @ watermelons\nlemons "
"strawberries "
"apples watermelons\navocados lemons ' oranges\noranges apples "
"bananas\nbananas ' cherries -",
['=', '#', "'", '?', '-', ',', '^', '.']),
"bananas bananas apples lemons @ watermelons\nlemons "
"strawberries apples watermelons\navocados "
"lemons\noranges apples bananas\nbananas")
def test_solution_20(self):
self.assertEqual(solution(
"bananas bananas lemons\n. apples apples lemons apples\n= "
"strawberries - pears\napples cherries bananas\nwatermelons "
"lemons lemons strawberries pears",
['.', '^', "'", '?']),
"bananas bananas lemons\n\n= strawberries - "
"pears\napples cherries bananas\nwatermelons lemons "
"lemons strawberries pears")
def test_solution_21(self):
self.assertEqual(solution(
"watermelons @\nlemons . bananas bananas lemons cherries\n# "
"cherries pears\ncherries ^ oranges avocados\navocados",
['-', '?', ',', '.', '^']),
"watermelons @\nlemons\n# cherries "
"pears\ncherries\navocados")
def test_solution_22(self):
self.assertEqual(solution(
"- ?\npears oranges ! @ avocados\n= oranges = apples\napples "
"avocados strawberries",
['-', '^', '?']),
"\npears oranges ! @ avocados\n= oranges = "
"apples\napples avocados strawberries")
def test_solution_23(self):
self.assertEqual(solution(
"pears bananas watermelons pears cherries\napples avocados ^ "
"cherries\noranges oranges",
['=', "'", ',', '.', '!', '@']),
"pears bananas watermelons pears cherries\napples "
"avocados ^ cherries\noranges oranges")
def test_solution_24(self):
self.assertEqual(solution(
"^ oranges\nbananas @ pears avocados apples "
"watermelons\ncherries "
"bananas",
['-', '!', ',', '^', '?', '=']),
"\nbananas @ pears avocados apples "
"watermelons\ncherries bananas")
def test_solution_25(self):
self.assertEqual(solution(
"lemons pears cherries\nlemons ! watermelons !\nstrawberries ! "
"oranges watermelons\n^ pears bananas bananas bananas\npears "
"bananas apples ?",
['.', '^', '-', '=', ',', '?', "'"]),
"lemons pears cherries\nlemons ! watermelons "
"!\nstrawberries ! oranges watermelons\n\npears "
"bananas apples")
def test_solution_26(self):
self.assertEqual(solution(
"bananas oranges avocados watermelons strawberries\n, "
"oranges\npears\npears",
["'", '?', ',', '.']),
"bananas oranges avocados watermelons "
"strawberries\n\npears\npears")
def test_solution_27(self):
self.assertEqual(solution(
"pears avocados cherries .\nlemons , avocados\nwatermelons "
"avocados strawberries",
[]),
"pears avocados cherries .\nlemons , "
"avocados\nwatermelons avocados strawberries")
def test_solution_28(self):
self.assertEqual(solution(
"apples pears pears oranges watermelons\napples\napples "
"oranges\npears avocados oranges\nwatermelons - ! avocados "
"watermelons avocados",
['?', '#', '.', '=', '-', '!', "'"]),
"apples pears pears oranges "
"watermelons\napples\napples oranges\npears avocados "
"oranges\nwatermelons")
def test_solution_29(self):
self.assertEqual(solution(
"cherries pears lemons - pears strawberries\noranges cherries "
"lemons pears\nstrawberries avocados bananas = ^ watermelons",
['!', '#', '@', '-', '^', '?', '=', "'"]),
"cherries pears lemons\noranges cherries lemons "
"pears\nstrawberries avocados bananas")
def test_solution_30(self):
self.assertEqual(solution(
"oranges pears lemons @ watermelons\n. oranges strawberries "
"strawberries apples apples\napples pears",
['?', '.', '=', '@', ',', "'", '^', '#', '-']),
"oranges pears lemons\n\napples pears")
def test_solution_31(self):
self.assertEqual(solution(
"bananas lemons # bananas\npears watermelons avocados = "
"cherries\noranges pears bananas apples avocados ?\npears =",
['?', '#', ',', '^', '@', "'", '-', '.', '=']),
"bananas lemons\npears watermelons avocados\noranges "
"pears bananas apples avocados\npears")
def test_solution_32(self):
self.assertEqual(solution(
"#\nlemons strawberries strawberries lemons\nstrawberries "
"lemons "
", !\navocados avocados",
['#', '!', '^', '-', '=', '@', '?', ',']),
"\nlemons strawberries strawberries "
"lemons\nstrawberries lemons\navocados avocados")
def test_solution_33(self):
self.assertEqual(solution(
"# !\n- watermelons watermelons .\noranges\n? cherries "
"cherries",
['.', '^', '#', "'", ',', '@', '?']),
"\n- watermelons watermelons\noranges\n")
def test_solution_34(self):
self.assertEqual(solution(
"= avocados\navocados lemons bananas bananas ,\nwatermelons "
"strawberries # bananas bananas apples\nwatermelons pears "
"strawberries strawberries pears watermelons\npears avocados "
"apples pears",
['@', '-', '#', '!', '^', '?', ',', "'"]),
"= avocados\navocados lemons bananas "
"bananas\nwatermelons strawberries\nwatermelons "
"pears strawberries strawberries pears "
"watermelons\npears avocados apples pears")
def test_solution_35(self):
self.assertEqual(solution(
"oranges . watermelons lemons\npears\noranges lemons bananas -",
['-', ',', '@', '=', '.']),
"oranges\npears\noranges lemons bananas")
def test_solution_36(self):
self.assertEqual(solution(
"apples cherries strawberries\n? watermelons ^ strawberries "
"strawberries\noranges watermelons bananas - lemons",
['^', '=', '-', '.']),
"apples cherries strawberries\n? "
"watermelons\noranges watermelons bananas")
def test_solution_37(self):
self.assertEqual(solution(
"watermelons\n# = apples ,\n^ lemons apples\nlemons pears "
"lemons "
"cherries\noranges apples",
['#', '?', '!']),
"watermelons\n\n^ lemons apples\nlemons pears lemons "
"cherries\noranges apples")
def test_solution_38(self):
self.assertEqual(solution(
"cherries oranges\npears cherries "
"apples\nstrawberries\nstrawberries apples = - bananas bananas",
[]),
"cherries oranges\npears cherries "
"apples\nstrawberries\nstrawberries apples = - "
"bananas bananas")
def test_solution_39(self):
self.assertEqual(solution(
"apples\n. apples lemons oranges bananas bananas\n? "
"?\nstrawberries apples strawberries",
['-', '?', '@', '=']),
"apples\n. apples lemons oranges bananas "
"bananas\n\nstrawberries apples strawberries")
def test_solution_40(self):
self.assertEqual(solution(
"bananas\ncherries\napples oranges cherries\nstrawberries "
"lemons "
"apples ^ # lemons\nbananas pears strawberries pears "
"watermelons "
"pears",
[',', '^', '?', '@']),
"bananas\ncherries\napples oranges "
"cherries\nstrawberries lemons apples\nbananas pears "
"strawberries pears watermelons pears")
def test_solution_41(self):
self.assertEqual(solution(
"apples bananas\nbananas watermelons watermelons cherries "
"oranges\navocados watermelons avocados bananas "
"apples\ncherries "
"strawberries pears lemons",
[]),
"apples bananas\nbananas watermelons watermelons "
"cherries oranges\navocados watermelons avocados "
"bananas apples\ncherries strawberries pears lemons")
def test_solution_42(self):
self.assertEqual(solution(
"strawberries cherries strawberries\nwatermelons\navocados "
"avocados pears\n!\nstrawberries # . watermelons",
['#', "'", '!', '^', '-', ',']),
"strawberries cherries "
"strawberries\nwatermelons\navocados avocados "
"pears\n\nstrawberries")
def test_solution_43(self):
self.assertEqual(solution(
"watermelons\nbananas lemons ? = @\n? watermelons strawberries "
"lemons",
['!', "'", '-', '#', '?', ',']),
"watermelons\nbananas lemons\n")
def test_solution_44(self):
self.assertEqual(solution(
"strawberries cherries cherries\nlemons oranges avocados "
"pears = "
"avocados\npears oranges\npears lemons lemons lemons "
"watermelons\n,",
[',', "'", '=', '#', '.', '-', '?', '@']),
"strawberries cherries cherries\nlemons oranges avocados "
"pears\npears oranges\npears lemons lemons lemons "
"watermelons\n")
def test_solution_45(self):
self.assertEqual(
solution("lemons apples -\n' @\nlemons oranges avocados",
['@', '^', '#', '-', '!']),
"lemons apples\n'\nlemons oranges avocados")
def test_solution_46(self):
self.assertEqual(solution(
"lemons ? oranges avocados apples ^\n! strawberries pears "
"strawberries @ lemons\napples = avocados",
[',', '?', '!', '=']), "lemons\n\napples")
def test_solution_47(self):
self.assertEqual(solution("bananas ,\npears\nwatermelons\n' ^ # ?",
['#', '@', '^', '=', '!']),
"bananas ,\npears\nwatermelons\n'")
def test_solution_48(self):
self.assertEqual(solution(
"apples = ^\n- = !\nwatermelons watermelons lemons . "
"lemons\napples bananas avocados lemons avocados",
['#', '=', '@', '!']),
"apples\n-\nwatermelons watermelons lemons . lemons\napples "
"bananas avocados lemons avocados")
def test_solution_49(self):
self.assertEqual(solution(
"- ! strawberries watermelons pears strawberries\napples "
"avocados ^ oranges\napples watermelons apples ! bananas "
"lemons\noranges bananas",
['?', '-', '#', '=', '.', '^', "'", ',', '!']),
"\napples avocados\napples watermelons apples\noranges bananas")
def test_solution_50(self):
self.assertEqual(solution(
"cherries cherries apples cherries bananas\navocados ? "
"bananas pears lemons !\nwatermelons\n. apples lemons oranges "
"watermelons watermelons",
['#']),
"cherries cherries apples cherries bananas\navocados ? "
"bananas pears lemons !\nwatermelons\n. apples lemons oranges "
"watermelons watermelons")