unit test: TestNodedefSerialization
authorPerttu Ahola <celeron55@gmail.com>
Mon, 26 Nov 2012 19:40:39 +0000 (21:40 +0200)
committerPerttu Ahola <celeron55@gmail.com>
Thu, 29 Nov 2012 20:08:25 +0000 (22:08 +0200)
src/test.cpp

index f81f2910c62c14117e6c255c7152cfd334df832c..52782fa36791976cae8fc9625e61fffc66067d81 100644 (file)
@@ -314,6 +314,26 @@ struct TestSerialization: public TestBase
        }
 };
 
+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);
+               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()
@@ -1736,6 +1756,7 @@ void run_tests()
        TEST(TestSettings);
        TEST(TestCompress);
        TEST(TestSerialization);
+       TEST(TestNodedefSerialization);
        TESTPARAMS(TestMapNode, ndef);
        TESTPARAMS(TestVoxelManipulator, ndef);
        TESTPARAMS(TestVoxelAlgorithms, ndef);