Mercurial > molko
annotate tests/test-inventory.c @ 85:34e91215ec5a
core: implement basic parts of inventories, closes #2483
author | David Demelier <markand@malikania.fr> |
---|---|
date | Wed, 11 Mar 2020 19:53:19 +0100 |
parents | |
children | d3bc14c1e243 |
rev | line source |
---|---|
85
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 /* |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 * test-inventory.c -- test inventory functions |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 * |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
4 * Copyright (c) 2020 David Demelier <markand@malikania.fr> |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 * |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 * Permission to use, copy, modify, and/or distribute this software for any |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 * purpose with or without fee is hereby granted, provided that the above |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 * copyright notice and this permission notice appear in all copies. |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 * |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
17 */ |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
19 #define GREATEST_USE_ABBREVS 0 |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
20 #include <greatest.h> |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
21 |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
22 #include "item.h" |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
23 #include "inventory.h" |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
24 |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
25 static struct item potion = { |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
26 .name = "Potion", |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
27 .stackable = 64 |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
28 }; |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
29 |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
30 static struct item elixir = { |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
31 .name = "Elixir", |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
32 .stackable = 64 |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
33 }; |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
34 |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
35 GREATEST_TEST |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
36 push_simple(void) |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
37 { |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
38 struct inventory inv = { 0 }; |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
39 unsigned int left; |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
40 |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
41 /* |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
42 * [0][0] should contain 50 potions. |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
43 */ |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
44 left = inventory_push(&inv, &potion, 50U); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
45 GREATEST_ASSERT_EQ(left, 0U); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
46 GREATEST_ASSERT_EQ(inv.items[0][0].item, &potion); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
47 GREATEST_ASSERT_EQ(inv.items[0][0].amount, 50U); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
48 inventory_clear(&inv); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
49 |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
50 /* |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
51 * [0][1] should contain 64 potions. |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
52 * [0][2] should contain 10 potions. |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
53 */ |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
54 left = inventory_push(&inv, &potion, 74U); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
55 GREATEST_ASSERT_EQ(left, 0U); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
56 GREATEST_ASSERT_EQ(inv.items[0][0].item, &potion); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
57 GREATEST_ASSERT_EQ(inv.items[0][0].amount, 64U); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
58 GREATEST_ASSERT_EQ(inv.items[0][1].item, &potion); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
59 GREATEST_ASSERT_EQ(inv.items[0][1].amount, 10U); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
60 inventory_clear(&inv); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
61 |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
62 /* |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
63 * 1. We push 10 potions |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
64 * 2. We push 10 more potions. |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
65 * |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
66 * [0][0] should contain 20 potions. |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
67 */ |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
68 left = inventory_push(&inv, &potion, 10U); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
69 GREATEST_ASSERT_EQ(left, 0U); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
70 GREATEST_ASSERT_EQ(inv.items[0][0].item, &potion); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
71 GREATEST_ASSERT_EQ(inv.items[0][0].amount, 10U); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
72 left = inventory_push(&inv, &potion, 10U); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
73 GREATEST_ASSERT_EQ(left, 0U); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
74 GREATEST_ASSERT_EQ(inv.items[0][0].item, &potion); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
75 GREATEST_ASSERT_EQ(inv.items[0][0].amount, 20U); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
76 inventory_clear(&inv); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
77 |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
78 GREATEST_PASS(); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
79 } |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
80 |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
81 GREATEST_TEST |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
82 push_full(void) |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
83 { |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
84 struct inventory inv = { 0 }; |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
85 unsigned int left; |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
86 |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
87 /* |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
88 * Fill the inventory with |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
89 * |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
90 * - 29 x 64 potions |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
91 * - Last slot will have already 50 potions. |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
92 * |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
93 * This means the maximum potions to push is only 14. |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
94 */ |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
95 for (int i = 0; i < 29; ++i) { |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
96 left = inventory_push(&inv, &potion, 64U); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
97 GREATEST_ASSERT_EQ(left, 0U); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
98 } |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
99 |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
100 left = inventory_push(&inv, &potion, 50U); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
101 GREATEST_ASSERT_EQ(left, 0U); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
102 |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
103 /* |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
104 * Try to add 20 potions, only 14 should be pushed. |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
105 */ |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
106 left = inventory_push(&inv, &potion, 20U); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
107 GREATEST_ASSERT_EQ(left, 6U); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
108 GREATEST_ASSERT_EQ(inv.items[2][9].amount, 64U); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
109 |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
110 GREATEST_PASS(); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
111 } |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
112 |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
113 GREATEST_TEST |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
114 push_other(void) |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
115 { |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
116 struct inventory inv = { 0 }; |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
117 unsigned int left; |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
118 |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
119 /* |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
120 * [0][0] should contain 30 potions. |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
121 */ |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
122 left = inventory_push(&inv, &potion, 30U); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
123 GREATEST_ASSERT_EQ(left, 0U); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
124 GREATEST_ASSERT_EQ(inv.items[0][0].item, &potion); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
125 GREATEST_ASSERT_EQ(inv.items[0][0].amount, 30U); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
126 |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
127 /* |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
128 * Since elixir is not a potion, it should be pushed into an other |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
129 * cell. |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
130 * |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
131 * [0][0] should be untouched |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
132 * [0][1] should contain 30 elixir. |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
133 */ |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
134 left = inventory_push(&inv, &elixir, 30U); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
135 GREATEST_ASSERT_EQ(left, 0U); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
136 GREATEST_ASSERT_EQ(inv.items[0][0].item, &potion); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
137 GREATEST_ASSERT_EQ(inv.items[0][0].amount, 30U); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
138 GREATEST_ASSERT_EQ(inv.items[0][1].item, &elixir); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
139 GREATEST_ASSERT_EQ(inv.items[0][1].amount, 30U); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
140 |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
141 GREATEST_PASS(); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
142 } |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
143 |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
144 GREATEST_SUITE(push) |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
145 { |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
146 GREATEST_RUN_TEST(push_simple); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
147 GREATEST_RUN_TEST(push_full); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
148 GREATEST_RUN_TEST(push_other); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
149 } |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
150 |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
151 GREATEST_MAIN_DEFS(); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
152 |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
153 int |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
154 main(int argc, char **argv) |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
155 { |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
156 GREATEST_MAIN_BEGIN(); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
157 GREATEST_RUN_SUITE(push); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
158 GREATEST_MAIN_END(); |
34e91215ec5a
core: implement basic parts of inventories, closes #2483
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
159 } |