52 i.destroyInventoryInterface();
80 ASSERT_TRUE(
nullptr != od);
83 ASSERT_TRUE(
nullptr != container);
89 ASSERT_TRUE(
nullptr !=
i.addToInventory(&inv, &item, container,
NONE,
NONE, 1));
102 ASSERT_TRUE(
nullptr != od);
105 ASSERT_TRUE(
nullptr != container);
111 addedItem =
i.addToInventory(&inv, &item, container,
NONE,
NONE, 1);
115 ASSERT_TRUE(
i.removeFromInventory(&inv, container, addedItem));
124 const invDef_t* container, *containerTo;
128 ASSERT_TRUE(
nullptr != od);
131 ASSERT_TRUE(
nullptr != container);
137 addedItem =
i.addToInventory(&inv, &item, container,
NONE,
NONE, 1);
138 ASSERT_TRUE(
nullptr != addedItem);
143 ASSERT_TRUE(
nullptr != containerTo);
145 ASSERT_EQ(
IA_MOVE,
i.moveInInventory(&inv, container, addedItem, containerTo,
NONE,
NONE,
nullptr,
nullptr));
155 const invDef_t* container, *containerFrom;
159 ASSERT_TRUE(
nullptr != od);
162 ASSERT_TRUE(
nullptr != container);
168 addedItem =
i.addToInventory(&inv, &item, container,
NONE,
NONE, 1);
169 ASSERT_TRUE(
nullptr != addedItem);
174 ASSERT_TRUE(
nullptr != ad);
179 ASSERT_TRUE(
nullptr != containerFrom);
183 addedItem =
i.addToInventory(&inv, &ammo, containerFrom,
NONE,
NONE, 1);
184 ASSERT_TRUE(
nullptr != addedItem);
188 ASSERT_EQ(
IA_RELOAD,
i.moveInInventory(&inv, containerFrom, addedItem, container,
NONE,
NONE,
nullptr,
nullptr));
198 ASSERT_TRUE(
nullptr != ad);
202 ASSERT_TRUE(inv.
containsItem(containerFrom->
id, &ammoFrom) ==
false);
204 addedItem =
i.addToInventory(&inv, &ammoFrom, containerFrom,
NONE,
NONE, 1);
205 ASSERT_TRUE(
nullptr != addedItem);
207 ASSERT_TRUE(inv.
containsItem(containerFrom->
id, &ammoFrom) ==
true);
209 ASSERT_EQ(
IA_RELOAD_SWAP,
i.moveInInventory(&inv, containerFrom, addedItem, container,
NONE,
NONE,
nullptr,
nullptr));
211 ASSERT_TRUE(inv.
containsItem(containerFrom->
id, &ammoFrom) ==
false);
223 return i.tryAddToInventory(inv, &item, container);
229 ASSERT_TRUE(
nullptr != od);
232 ASSERT_TRUE(
nullptr != container);
236 ASSERT_TRUE(addedItem ==
true);
240 ASSERT_TRUE(addedItem ==
false);
243 ASSERT_TRUE(
nullptr != container);
246 ASSERT_TRUE(
nullptr != od);
249 ASSERT_TRUE(addedItem ==
true);
252 ASSERT_TRUE(
nullptr != container);
254 for (
int i = 0;
i <
csi.numODs;
i++) {
258 ASSERT_TRUE(addedItem ==
true);
260 ASSERT_TRUE(addedItem ==
true);
262 ASSERT_TRUE(addedItem ==
true);
263 for (
int j = 0; j < od->
numAmmos; j++) {
265 ASSERT_TRUE(addedItem ==
true);
267 ASSERT_TRUE(addedItem ==
true);
269 ASSERT_TRUE(addedItem ==
true);
271 ASSERT_TRUE(addedItem ==
true);
273 ASSERT_TRUE(addedItem ==
true);
275 ASSERT_TRUE(addedItem ==
true);
287 ASSERT_TRUE(
nullptr != od);
290 ASSERT_TRUE(
nullptr != container);
296 ASSERT_TRUE(
nullptr !=
i.addToInventory(&inv, &item, container,
NONE,
NONE, 1));
300 ASSERT_TRUE(
nullptr ==
i.addToInventory(&inv, &item, container,
NONE,
NONE, 1));
static const int TAG_INVENTORY
static const inventoryImport_t inventoryImport
inventory definition with all its containers
bool containsItem(const containerIndex_t contId, const Item *const item) const
Searches if there is a specific item already in the inventory&container.
static void TearDownTestCase()
static void SetUpTestCase()
item instance data, with linked list capability
void setAmmoDef(const objDef_t *od)
void setAmmoLeft(int value)
memPool_t * com_genericPool
definitions common between client and server, but not game lib
const objDef_t * INVSH_GetItemByIDX(int index)
Returns the item that belongs to the given index or nullptr if the index is invalid.
const invDef_t * INVSH_GetInventoryDefinitionByID(const char *id)
const objDef_t * INVSH_GetItemByIDSilent(const char *id)
Returns the item that belongs to the given id or nullptr if it wasn't found.
#define Mem_FreeTag(pool, tagNum)
#define Mem_PoolAlloc(size, pool, tagNum)
QGL_EXTERN GLsizei const GLvoid * data
void Com_ParseScripts(bool onlyServer)
inventory definition for our menus
Defines all attributes of objects used in the inventory.
const struct objDef_s * ammos[MAX_AMMOS_PER_OBJDEF]
static void * AllocInventoryMemory(size_t size)
static void FreeAllInventory(void)
static void FreeInventory(void *data)
static void ResetInventoryList(void)
static void * AllocInventoryMemory(size_t size)
static void FreeAllInventory(void)
TEST_F(InventoryTest, ItemAdd)
static bool testAddSingle(Inventory *inv, const objDef_t *od, const invDef_t *container)
static void FreeInventory(void *data)