Mercurial > molko
annotate tests/test-map.c @ 250:8ef7fb7f14ad
rpg: add support for collisions with actions
While here, minimal cleanup in maps.
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 01 Dec 2020 19:24:11 +0100 |
parents | 76afe639fd72 |
children | 196264679079 |
rev | line source |
---|---|
42
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 /* |
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 * test-map.c -- test map routines |
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 * |
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
4 * Copyright (c) 2020 David Demelier <markand@malikania.fr> |
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 * |
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 * Permission to use, copy, modify, and/or distribute this software for any |
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 * purpose with or without fee is hereby granted, provided that the above |
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 * copyright notice and this permission notice appear in all copies. |
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 * |
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
17 */ |
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 |
124
7b84764741b6
core: allows loading maps from memory, closes #2489
David Demelier <markand@malikania.fr>
parents:
98
diff
changeset
|
19 #define GREATEST_USE_ABBREVS 0 |
42
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
20 #include <greatest.h> |
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
21 |
197
852d0b7817ce
rpg: map, extreme cleanup, closes #2508 @4h
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
22 #include <core/core.h> |
124
7b84764741b6
core: allows loading maps from memory, closes #2489
David Demelier <markand@malikania.fr>
parents:
98
diff
changeset
|
23 #include <core/error.h> |
7b84764741b6
core: allows loading maps from memory, closes #2489
David Demelier <markand@malikania.fr>
parents:
98
diff
changeset
|
24 #include <core/panic.h> |
7b84764741b6
core: allows loading maps from memory, closes #2489
David Demelier <markand@malikania.fr>
parents:
98
diff
changeset
|
25 #include <core/sys.h> |
7b84764741b6
core: allows loading maps from memory, closes #2489
David Demelier <markand@malikania.fr>
parents:
98
diff
changeset
|
26 #include <core/window.h> |
42
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
27 |
197
852d0b7817ce
rpg: map, extreme cleanup, closes #2508 @4h
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
28 #include <rpg/map-file.h> |
148
c577c15df07f
misc: split libraries, closes #2496
David Demelier <markand@malikania.fr>
parents:
134
diff
changeset
|
29 #include <rpg/map.h> |
c577c15df07f
misc: split libraries, closes #2496
David Demelier <markand@malikania.fr>
parents:
134
diff
changeset
|
30 |
124
7b84764741b6
core: allows loading maps from memory, closes #2489
David Demelier <markand@malikania.fr>
parents:
98
diff
changeset
|
31 GREATEST_TEST |
215
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
32 test_basics_sample(void) |
42
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
33 { |
197
852d0b7817ce
rpg: map, extreme cleanup, closes #2508 @4h
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
34 struct map_file loader = {0}; |
852d0b7817ce
rpg: map, extreme cleanup, closes #2508 @4h
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
35 struct map map = {0}; |
42
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
36 |
215
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
37 GREATEST_ASSERT(map_file_open(&loader, &map, DIRECTORY "sample-map.map")); |
124
7b84764741b6
core: allows loading maps from memory, closes #2489
David Demelier <markand@malikania.fr>
parents:
98
diff
changeset
|
38 GREATEST_ASSERT_STR_EQ("This is a test map", map.title); |
215
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
39 GREATEST_ASSERT_EQ(4, map.columns); |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
40 GREATEST_ASSERT_EQ(2, map.rows); |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
41 |
124
7b84764741b6
core: allows loading maps from memory, closes #2489
David Demelier <markand@malikania.fr>
parents:
98
diff
changeset
|
42 GREATEST_ASSERT_EQ(0, map.layers[0].tiles[0]); |
7b84764741b6
core: allows loading maps from memory, closes #2489
David Demelier <markand@malikania.fr>
parents:
98
diff
changeset
|
43 GREATEST_ASSERT_EQ(1, map.layers[0].tiles[1]); |
7b84764741b6
core: allows loading maps from memory, closes #2489
David Demelier <markand@malikania.fr>
parents:
98
diff
changeset
|
44 GREATEST_ASSERT_EQ(2, map.layers[0].tiles[2]); |
7b84764741b6
core: allows loading maps from memory, closes #2489
David Demelier <markand@malikania.fr>
parents:
98
diff
changeset
|
45 GREATEST_ASSERT_EQ(3, map.layers[0].tiles[3]); |
215
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
46 GREATEST_ASSERT_EQ(4, map.layers[0].tiles[4]); |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
47 GREATEST_ASSERT_EQ(5, map.layers[0].tiles[5]); |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
48 GREATEST_ASSERT_EQ(6, map.layers[0].tiles[6]); |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
49 GREATEST_ASSERT_EQ(7, map.layers[0].tiles[7]); |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
50 |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
51 GREATEST_ASSERT_EQ(8, map.layers[1].tiles[0]); |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
52 GREATEST_ASSERT_EQ(9, map.layers[1].tiles[1]); |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
53 GREATEST_ASSERT_EQ(10, map.layers[1].tiles[2]); |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
54 GREATEST_ASSERT_EQ(11, map.layers[1].tiles[3]); |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
55 GREATEST_ASSERT_EQ(12, map.layers[1].tiles[4]); |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
56 GREATEST_ASSERT_EQ(13, map.layers[1].tiles[5]); |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
57 GREATEST_ASSERT_EQ(14, map.layers[1].tiles[6]); |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
58 GREATEST_ASSERT_EQ(15, map.layers[1].tiles[7]); |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
59 |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
60 GREATEST_ASSERT_EQ(64U, map.tileset->sprite->cellw); |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
61 GREATEST_ASSERT_EQ(32U, map.tileset->sprite->cellh); |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
62 |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
63 GREATEST_ASSERT_EQ(4, map.tileset->tiledefsz); |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
64 |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
65 GREATEST_ASSERT_EQ(129, map.tileset->tiledefs[0].id); |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
66 GREATEST_ASSERT_EQ(8, map.tileset->tiledefs[0].x); |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
67 GREATEST_ASSERT_EQ(0, map.tileset->tiledefs[0].y); |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
68 GREATEST_ASSERT_EQ(56, map.tileset->tiledefs[0].w); |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
69 GREATEST_ASSERT_EQ(40, map.tileset->tiledefs[0].h); |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
70 |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
71 GREATEST_ASSERT_EQ(130, map.tileset->tiledefs[1].id); |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
72 GREATEST_ASSERT_EQ(0, map.tileset->tiledefs[1].x); |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
73 GREATEST_ASSERT_EQ(0, map.tileset->tiledefs[1].y); |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
74 GREATEST_ASSERT_EQ(62, map.tileset->tiledefs[1].w); |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
75 GREATEST_ASSERT_EQ(40, map.tileset->tiledefs[1].h); |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
76 |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
77 GREATEST_ASSERT_EQ(132, map.tileset->tiledefs[2].id); |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
78 GREATEST_ASSERT_EQ(0, map.tileset->tiledefs[2].x); |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
79 GREATEST_ASSERT_EQ(0, map.tileset->tiledefs[2].y); |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
80 GREATEST_ASSERT_EQ(64, map.tileset->tiledefs[2].w); |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
81 GREATEST_ASSERT_EQ(40, map.tileset->tiledefs[2].h); |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
82 |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
83 GREATEST_ASSERT_EQ(133, map.tileset->tiledefs[3].id); |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
84 GREATEST_ASSERT_EQ(0, map.tileset->tiledefs[3].x); |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
85 GREATEST_ASSERT_EQ(0, map.tileset->tiledefs[3].y); |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
86 GREATEST_ASSERT_EQ(58, map.tileset->tiledefs[3].w); |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
87 GREATEST_ASSERT_EQ(40, map.tileset->tiledefs[3].h); |
197
852d0b7817ce
rpg: map, extreme cleanup, closes #2508 @4h
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
88 |
852d0b7817ce
rpg: map, extreme cleanup, closes #2508 @4h
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
89 map_finish(&map); |
852d0b7817ce
rpg: map, extreme cleanup, closes #2508 @4h
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
90 map_file_finish(&loader); |
852d0b7817ce
rpg: map, extreme cleanup, closes #2508 @4h
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
91 |
124
7b84764741b6
core: allows loading maps from memory, closes #2489
David Demelier <markand@malikania.fr>
parents:
98
diff
changeset
|
92 GREATEST_PASS(); |
42
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
93 } |
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
94 |
124
7b84764741b6
core: allows loading maps from memory, closes #2489
David Demelier <markand@malikania.fr>
parents:
98
diff
changeset
|
95 GREATEST_TEST |
7b84764741b6
core: allows loading maps from memory, closes #2489
David Demelier <markand@malikania.fr>
parents:
98
diff
changeset
|
96 test_error_title(void) |
42
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
97 { |
197
852d0b7817ce
rpg: map, extreme cleanup, closes #2508 @4h
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
98 struct map_file loader = {0}; |
852d0b7817ce
rpg: map, extreme cleanup, closes #2508 @4h
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
99 struct map map = {0}; |
42
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
100 |
215
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
101 GREATEST_ASSERT(!map_file_open(&loader, &map, DIRECTORY "error-title.map")); |
197
852d0b7817ce
rpg: map, extreme cleanup, closes #2508 @4h
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
102 |
852d0b7817ce
rpg: map, extreme cleanup, closes #2508 @4h
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
103 map_finish(&map); |
852d0b7817ce
rpg: map, extreme cleanup, closes #2508 @4h
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
104 map_file_finish(&loader); |
852d0b7817ce
rpg: map, extreme cleanup, closes #2508 @4h
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
105 |
124
7b84764741b6
core: allows loading maps from memory, closes #2489
David Demelier <markand@malikania.fr>
parents:
98
diff
changeset
|
106 GREATEST_PASS(); |
42
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
107 } |
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
108 |
124
7b84764741b6
core: allows loading maps from memory, closes #2489
David Demelier <markand@malikania.fr>
parents:
98
diff
changeset
|
109 GREATEST_TEST |
215
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
110 test_error_columns(void) |
42
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
111 { |
197
852d0b7817ce
rpg: map, extreme cleanup, closes #2508 @4h
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
112 struct map_file loader = {0}; |
852d0b7817ce
rpg: map, extreme cleanup, closes #2508 @4h
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
113 struct map map = {0}; |
42
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
114 |
215
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
115 GREATEST_ASSERT(!map_file_open(&loader, &map, DIRECTORY "error-columns.map")); |
197
852d0b7817ce
rpg: map, extreme cleanup, closes #2508 @4h
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
116 |
852d0b7817ce
rpg: map, extreme cleanup, closes #2508 @4h
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
117 map_finish(&map); |
852d0b7817ce
rpg: map, extreme cleanup, closes #2508 @4h
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
118 map_file_finish(&loader); |
852d0b7817ce
rpg: map, extreme cleanup, closes #2508 @4h
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
119 |
124
7b84764741b6
core: allows loading maps from memory, closes #2489
David Demelier <markand@malikania.fr>
parents:
98
diff
changeset
|
120 GREATEST_PASS(); |
42
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
121 } |
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
122 |
124
7b84764741b6
core: allows loading maps from memory, closes #2489
David Demelier <markand@malikania.fr>
parents:
98
diff
changeset
|
123 GREATEST_TEST |
215
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
124 test_error_rows(void) |
42
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
125 { |
197
852d0b7817ce
rpg: map, extreme cleanup, closes #2508 @4h
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
126 struct map_file loader = {0}; |
852d0b7817ce
rpg: map, extreme cleanup, closes #2508 @4h
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
127 struct map map = {0}; |
42
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
128 |
215
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
129 GREATEST_ASSERT(!map_file_open(&loader, &map, DIRECTORY "error-rows.map")); |
197
852d0b7817ce
rpg: map, extreme cleanup, closes #2508 @4h
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
130 |
852d0b7817ce
rpg: map, extreme cleanup, closes #2508 @4h
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
131 map_finish(&map); |
852d0b7817ce
rpg: map, extreme cleanup, closes #2508 @4h
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
132 map_file_finish(&loader); |
852d0b7817ce
rpg: map, extreme cleanup, closes #2508 @4h
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
133 |
124
7b84764741b6
core: allows loading maps from memory, closes #2489
David Demelier <markand@malikania.fr>
parents:
98
diff
changeset
|
134 GREATEST_PASS(); |
7b84764741b6
core: allows loading maps from memory, closes #2489
David Demelier <markand@malikania.fr>
parents:
98
diff
changeset
|
135 } |
7b84764741b6
core: allows loading maps from memory, closes #2489
David Demelier <markand@malikania.fr>
parents:
98
diff
changeset
|
136 |
215
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
137 GREATEST_SUITE(suite_basics) |
124
7b84764741b6
core: allows loading maps from memory, closes #2489
David Demelier <markand@malikania.fr>
parents:
98
diff
changeset
|
138 { |
215
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
139 GREATEST_RUN_TEST(test_basics_sample); |
42
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
140 } |
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
141 |
215
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
142 GREATEST_SUITE(suite_errors) |
42
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
143 { |
124
7b84764741b6
core: allows loading maps from memory, closes #2489
David Demelier <markand@malikania.fr>
parents:
98
diff
changeset
|
144 GREATEST_RUN_TEST(test_error_title); |
215
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
145 GREATEST_RUN_TEST(test_error_columns); |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
146 GREATEST_RUN_TEST(test_error_rows); |
42
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
147 } |
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
148 |
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
149 GREATEST_MAIN_DEFS(); |
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
150 |
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
151 int |
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
152 main(int argc, char **argv) |
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
153 { |
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
154 GREATEST_MAIN_BEGIN(); |
197
852d0b7817ce
rpg: map, extreme cleanup, closes #2508 @4h
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
155 |
852d0b7817ce
rpg: map, extreme cleanup, closes #2508 @4h
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
156 /* |
852d0b7817ce
rpg: map, extreme cleanup, closes #2508 @4h
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
157 * This test opens graphical images and therefore need to initialize a |
852d0b7817ce
rpg: map, extreme cleanup, closes #2508 @4h
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
158 * window and all of the API. As tests sometime run on headless machine |
852d0b7817ce
rpg: map, extreme cleanup, closes #2508 @4h
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
159 * we will skip if it fails to initialize. |
852d0b7817ce
rpg: map, extreme cleanup, closes #2508 @4h
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
160 */ |
852d0b7817ce
rpg: map, extreme cleanup, closes #2508 @4h
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
161 |
241
76afe639fd72
misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
215
diff
changeset
|
162 if (core_init("fr.malikania", "test") && window_open("test-map", 100, 100)) { |
215
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
163 GREATEST_RUN_SUITE(suite_basics); |
64f24b482722
rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
211
diff
changeset
|
164 GREATEST_RUN_SUITE(suite_errors); |
197
852d0b7817ce
rpg: map, extreme cleanup, closes #2508 @4h
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
165 } |
852d0b7817ce
rpg: map, extreme cleanup, closes #2508 @4h
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
166 |
42
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
167 GREATEST_MAIN_END(); |
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
168 |
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
169 return 0; |
22a09a5ee476
core: add better map check and unit tests
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
170 } |