Add a bit of unit test for inventory
This commit is contained in:
parent
81c5e5200b
commit
e4bc76f55c
94
src/test.cpp
94
src/test.cpp
|
@ -37,6 +37,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
#include "utility_string.h"
|
#include "utility_string.h"
|
||||||
#include "voxelalgorithms.h"
|
#include "voxelalgorithms.h"
|
||||||
|
#include "inventory.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Asserts that the exception occurs
|
Asserts that the exception occurs
|
||||||
|
@ -650,6 +651,98 @@ struct TestVoxelAlgorithms
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct TestInventory
|
||||||
|
{
|
||||||
|
void Run(IItemDefManager *idef)
|
||||||
|
{
|
||||||
|
std::string serialized_inventory =
|
||||||
|
"List 0 32\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Item default:cobble 61\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Item default:dirt 71\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Item default:dirt 99\n"
|
||||||
|
"Item default:cobble 38\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"EndInventoryList\n"
|
||||||
|
"EndInventory\n";
|
||||||
|
|
||||||
|
std::string serialized_inventory_2 =
|
||||||
|
"List main 32\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Item default:cobble 61\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Item default:dirt 71\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Item default:dirt 99\n"
|
||||||
|
"Item default:cobble 38\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"Empty\n"
|
||||||
|
"EndInventoryList\n"
|
||||||
|
"EndInventory\n";
|
||||||
|
|
||||||
|
Inventory inv(idef);
|
||||||
|
std::istringstream is(serialized_inventory, std::ios::binary);
|
||||||
|
inv.deSerialize(is);
|
||||||
|
assert(inv.getList("0"));
|
||||||
|
assert(!inv.getList("main"));
|
||||||
|
inv.getList("0")->setName("main");
|
||||||
|
assert(!inv.getList("0"));
|
||||||
|
assert(inv.getList("main"));
|
||||||
|
std::ostringstream inv_os(std::ios::binary);
|
||||||
|
inv.serialize(inv_os);
|
||||||
|
assert(inv_os.str() == serialized_inventory_2);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
NOTE: These tests became non-working then NodeContainer was removed.
|
NOTE: These tests became non-working then NodeContainer was removed.
|
||||||
These should be redone, utilizing some kind of a virtual
|
These should be redone, utilizing some kind of a virtual
|
||||||
|
@ -1447,6 +1540,7 @@ void run_tests()
|
||||||
TESTPARAMS(TestMapNode, ndef);
|
TESTPARAMS(TestMapNode, ndef);
|
||||||
TESTPARAMS(TestVoxelManipulator, ndef);
|
TESTPARAMS(TestVoxelManipulator, ndef);
|
||||||
TESTPARAMS(TestVoxelAlgorithms, ndef);
|
TESTPARAMS(TestVoxelAlgorithms, ndef);
|
||||||
|
TESTPARAMS(TestInventory, idef);
|
||||||
//TEST(TestMapBlock);
|
//TEST(TestMapBlock);
|
||||||
//TEST(TestMapSector);
|
//TEST(TestMapSector);
|
||||||
if(INTERNET_SIMULATOR == false){
|
if(INTERNET_SIMULATOR == false){
|
||||||
|
|
Loading…
Reference in New Issue