mirror of
https://github.com/minetest/minetest.git
synced 2024-12-23 06:32:23 +01:00
Convert nodedef tests to Catch2 (#15045)
Co-authored-by: Lars Müller <34514239+appgurueu@users.noreply.github.com>
This commit is contained in:
parent
5d18b6fcd0
commit
c893e0b72b
@ -17,38 +17,22 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
|
||||
#include "test.h"
|
||||
|
||||
#include <sstream>
|
||||
|
||||
#include "gamedef.h"
|
||||
#include "nodedef.h"
|
||||
#include "network/networkprotocol.h"
|
||||
|
||||
class TestNodeDef : public TestBase
|
||||
{
|
||||
public:
|
||||
TestNodeDef() { TestManager::registerTestModule(this); }
|
||||
const char *getName() { return "TestNodeDef"; }
|
||||
#include <catch.h>
|
||||
|
||||
void runTests(IGameDef *gamedef);
|
||||
#include <ios>
|
||||
#include <sstream>
|
||||
|
||||
void testContentFeaturesSerialization();
|
||||
};
|
||||
|
||||
static TestNodeDef g_test_instance;
|
||||
|
||||
void TestNodeDef::runTests(IGameDef *gamedef)
|
||||
{
|
||||
TEST(testContentFeaturesSerialization);
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
void TestNodeDef::testContentFeaturesSerialization()
|
||||
TEST_CASE("Given a node definition, "
|
||||
"when we serialize and then deserialize it, "
|
||||
"then the deserialized one should be equal to the original.",
|
||||
"[nodedef]")
|
||||
{
|
||||
ContentFeatures f;
|
||||
|
||||
f.name = "default:stone";
|
||||
for (TileDef &tiledef : f.tiledef)
|
||||
tiledef.name = "default_stone.png";
|
||||
@ -56,12 +40,10 @@ void TestNodeDef::testContentFeaturesSerialization()
|
||||
|
||||
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, LATEST_PROTOCOL_VERSION);
|
||||
|
||||
UASSERT(f.walkable == f2.walkable);
|
||||
UASSERT(f.node_box.type == f2.node_box.type);
|
||||
CHECK(f.walkable == f2.walkable);
|
||||
CHECK(f.node_box.type == f2.node_box.type);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user