annotate tests/test-tileset.c @ 445:773a082f0b91

misc: update copyright years
author David Demelier <markand@malikania.fr>
date Wed, 01 Feb 2023 13:08:54 +0100
parents 4e78f045e8c0
children 5729efd23286
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
215
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 /*
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 * test-tileset.c -- test tileset loader
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 *
445
773a082f0b91 misc: update copyright years
David Demelier <markand@malikania.fr>
parents: 434
diff changeset
4 * Copyright (c) 2020-2023 David Demelier <markand@malikania.fr>
215
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 *
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 * Permission to use, copy, modify, and/or distribute this software for any
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 * purpose with or without fee is hereby granted, provided that the above
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 * copyright notice and this permission notice appear in all copies.
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 *
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 */
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
431
8f59201dc76b core: cleanup hierarchy
David Demelier <markand@malikania.fr>
parents: 422
diff changeset
19 #include <mlk/core/core.h>
8f59201dc76b core: cleanup hierarchy
David Demelier <markand@malikania.fr>
parents: 422
diff changeset
20 #include <mlk/core/window.h>
215
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
21
434
4e78f045e8c0 rpg: cleanup hierarchy
David Demelier <markand@malikania.fr>
parents: 431
diff changeset
22 #include <mlk/rpg/tileset-file.h>
4e78f045e8c0 rpg: cleanup hierarchy
David Demelier <markand@malikania.fr>
parents: 431
diff changeset
23 #include <mlk/rpg/tileset.h>
215
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
24
410
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
25 #include <dt.h>
407
e6f972e04519 tests: don't use automatic feature
David Demelier <markand@malikania.fr>
parents: 378
diff changeset
26
410
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
27 static void
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
28 test_basics_sample(void)
215
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
29 {
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 struct tileset_file loader = {0};
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 struct tileset tileset;
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
32
410
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
33 DT_EQ_INT(tileset_file_open(&loader, &tileset, DIRECTORY "/maps/sample-tileset.tileset"), 0);
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
34 DT_EQ_UINT(tileset.sprite->cellw, 64U);
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
35 DT_EQ_UINT(tileset.sprite->cellh, 32U);
215
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
36
410
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
37 DT_EQ_UINT(tileset.tiledefsz, 4U);
215
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
38
410
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
39 DT_EQ_UINT(tileset.tiledefs[0].id, 129);
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
40 DT_EQ_UINT(tileset.tiledefs[0].x, 8);
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
41 DT_EQ_UINT(tileset.tiledefs[0].y, 0);
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
42 DT_EQ_UINT(tileset.tiledefs[0].w, 56);
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
43 DT_EQ_UINT(tileset.tiledefs[0].h, 40);
215
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
44
410
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
45 DT_EQ_UINT(tileset.tiledefs[1].id, 130);
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
46 DT_EQ_UINT(tileset.tiledefs[1].x, 0);
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
47 DT_EQ_UINT(tileset.tiledefs[1].y, 0);
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
48 DT_EQ_UINT(tileset.tiledefs[1].w, 62);
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
49 DT_EQ_UINT(tileset.tiledefs[1].h, 40);
215
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
50
410
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
51 DT_EQ_UINT(tileset.tiledefs[2].id, 132);
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
52 DT_EQ_UINT(tileset.tiledefs[2].x, 0);
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
53 DT_EQ_UINT(tileset.tiledefs[2].y, 0);
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
54 DT_EQ_UINT(tileset.tiledefs[2].w, 64);
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
55 DT_EQ_UINT(tileset.tiledefs[2].h, 40);
215
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
56
410
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
57 DT_EQ_UINT(tileset.tiledefs[3].id, 133);
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
58 DT_EQ_UINT(tileset.tiledefs[3].x, 0);
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
59 DT_EQ_UINT(tileset.tiledefs[3].y, 0);
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
60 DT_EQ_UINT(tileset.tiledefs[3].w, 58);
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
61 DT_EQ_UINT(tileset.tiledefs[3].h, 40);
215
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
62
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
63 tileset_file_finish(&loader);
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
64 }
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
65
410
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
66 static void
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
67 test_error_tilewidth(void)
215
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
68 {
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
69 struct tileset_file loader = {0};
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
70 struct tileset tileset = {0};
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
71
410
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
72 DT_EQ_INT(tileset_file_open(&loader, &tileset, DIRECTORY "/maps/error-tilewidth.tileset"), -1);
215
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
73 }
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
74
410
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
75 static void
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
76 test_error_tileheight(void)
215
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
77 {
336
f5a5bbb77122 tests: switch to rexo
David Demelier <markand@malikania.fr>
parents: 314
diff changeset
78 struct tileset_file loader = {0};
f5a5bbb77122 tests: switch to rexo
David Demelier <markand@malikania.fr>
parents: 314
diff changeset
79 struct tileset tileset = {0};
f5a5bbb77122 tests: switch to rexo
David Demelier <markand@malikania.fr>
parents: 314
diff changeset
80
410
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
81 DT_EQ_INT(tileset_file_open(&loader, &tileset, DIRECTORY "/maps/error-tileheight.tileset"), -1);
215
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
82 }
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
83
410
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
84 static void
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
85 test_error_image(void)
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
86 {
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
87 struct tileset_file loader = {0};
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
88 struct tileset tileset = {0};
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
89
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
90 DT_EQ_INT(tileset_file_open(&loader, &tileset, DIRECTORY "/maps/error-image.tileset"), -1);
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
91 }
407
e6f972e04519 tests: don't use automatic feature
David Demelier <markand@malikania.fr>
parents: 378
diff changeset
92
215
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
93 int
422
b0579ae033ed core: use err.h in (action|drawable)-stack
David Demelier <markand@malikania.fr>
parents: 410
diff changeset
94 main(void)
215
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
95 {
365
06badab52877 tests: fix test-tileset
David Demelier <markand@malikania.fr>
parents: 336
diff changeset
96 if (core_init("fr.malikania", "test") < 0 || window_open("test-tileset", 100, 100) < 0)
336
f5a5bbb77122 tests: switch to rexo
David Demelier <markand@malikania.fr>
parents: 314
diff changeset
97 return 1;
215
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
98
410
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
99 DT_RUN(test_basics_sample);
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
100 DT_RUN(test_error_tilewidth);
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
101 DT_RUN(test_error_tileheight);
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
102 DT_RUN(test_error_image);
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents: 408
diff changeset
103 DT_SUMMARY();
215
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
104 }