#include "util/numeric.h"
#include "util/serialize.h"
#include "noise.h" // PseudoRandom used for random data for compression
+#include "clientserver.h" // LATEST_PROTOCOL_VERSION
/*
Asserts that the exception occurs
}
};
+struct TestNodedefSerialization: public TestBase
+{
+ void Run()
+ {
+ ContentFeatures f;
+ f.name = "default:stone";
+ for(int i = 0; i < 6; i++)
+ f.tiledef[i].name = "default_stone.png";
+ f.is_ground_content = true;
+ std::ostringstream os(std::ios::binary);
+ f.serialize(os, LATEST_PROTOCOL_VERSION);
+ verbosestream<<"Test ContentFeatures size: "<<os.str().size()<<std::endl;
+ std::istringstream is(os.str(), std::ios::binary);
+ ContentFeatures f2;
+ f2.deSerialize(is);
+ UASSERT(f.walkable == f2.walkable);
+ UASSERT(f.node_box.type == f2.node_box.type);
+ }
+};
+
struct TestCompress: public TestBase
{
void Run()
}
- // Test zlib wrapper with large amounts of data (larger than it's
+ // Test zlib wrapper with large amounts of data (larger than its
// internal buffers)
{
infostream<<"Test: Testing zlib wrappers with a large amount "
{
std::string serialized_inventory =
"List 0 32\n"
+ "Width 3\n"
"Empty\n"
"Empty\n"
"Empty\n"
std::string serialized_inventory_2 =
"List main 32\n"
+ "Width 5\n"
"Empty\n"
"Empty\n"
"Empty\n"
inv.getList("0")->setName("main");
UASSERT(!inv.getList("0"));
UASSERT(inv.getList("main"));
+ UASSERT(inv.getList("main")->getWidth() == 3);
+ inv.getList("main")->setWidth(5);
std::ostringstream inv_os(std::ios::binary);
inv.serialize(inv_os);
UASSERT(inv_os.str() == serialized_inventory_2);
TEST(TestSettings);
TEST(TestCompress);
TEST(TestSerialization);
+ TEST(TestNodedefSerialization);
TESTPARAMS(TestMapNode, ndef);
TESTPARAMS(TestVoxelManipulator, ndef);
TESTPARAMS(TestVoxelAlgorithms, ndef);