mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2025-07-02 01:29:51 +00:00
test dServer stuff
This commit is contained in:
parent
8685d0dbdc
commit
b28cd58634
@ -86,7 +86,7 @@ private:
|
|||||||
void SetupForMasterConnection();
|
void SetupForMasterConnection();
|
||||||
bool ConnectToMaster();
|
bool ConnectToMaster();
|
||||||
|
|
||||||
private:
|
protected:
|
||||||
Logger* mLogger = nullptr;
|
Logger* mLogger = nullptr;
|
||||||
dConfig* mConfig = nullptr;
|
dConfig* mConfig = nullptr;
|
||||||
RakPeerInterface* mPeer = nullptr;
|
RakPeerInterface* mPeer = nullptr;
|
||||||
|
@ -21,6 +21,7 @@ public:
|
|||||||
~dServerMock() {};
|
~dServerMock() {};
|
||||||
RakNet::BitStream* GetMostRecentBitStream() { return sentBitStream; };
|
RakNet::BitStream* GetMostRecentBitStream() { return sentBitStream; };
|
||||||
void Send(RakNet::BitStream& bitStream, const SystemAddress& sysAddr, bool broadcast) override { sentBitStream = &bitStream; };
|
void Send(RakNet::BitStream& bitStream, const SystemAddress& sysAddr, bool broadcast) override { sentBitStream = &bitStream; };
|
||||||
|
void SetZoneId(unsigned int zoneId) { mZoneID = zoneId; }
|
||||||
};
|
};
|
||||||
|
|
||||||
class GameDependenciesTest : public ::testing::Test {
|
class GameDependenciesTest : public ::testing::Test {
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
#include "Entity.h"
|
#include "Entity.h"
|
||||||
#include "tinyxml2.h"
|
#include "tinyxml2.h"
|
||||||
#include "BuffComponent.h"
|
#include "BuffComponent.h"
|
||||||
|
#include "CharacterComponent.h"
|
||||||
|
|
||||||
class SavingTest : public GameDependenciesTest {
|
class SavingTest : public GameDependenciesTest {
|
||||||
protected:
|
protected:
|
||||||
@ -14,38 +15,52 @@ protected:
|
|||||||
void SetUp() override {
|
void SetUp() override {
|
||||||
SetUpDependencies();
|
SetUpDependencies();
|
||||||
Game::zoneManager->LoadZone(LWOZONEID(1800, 2, 0));
|
Game::zoneManager->LoadZone(LWOZONEID(1800, 2, 0));
|
||||||
GameDependenciesTest::info.lot = 1;
|
static_cast<dServerMock*>(Game::server)->SetZoneId(1800);
|
||||||
|
|
||||||
entity = std::make_unique<Entity>(1, GameDependenciesTest::info);
|
entity = std::make_unique<Entity>(1, GameDependenciesTest::info);
|
||||||
character = std::make_unique<Character>(1, nullptr);
|
character = std::make_unique<Character>(1, nullptr);
|
||||||
|
|
||||||
doc.LoadFile("./test_xml_data.xml");
|
doc.LoadFile("./test_xml_data.xml");
|
||||||
|
|
||||||
entity->SetCharacter(character.get());
|
entity->SetCharacter(character.get());
|
||||||
character->SetEntity(entity.get());
|
character->SetEntity(entity.get());
|
||||||
|
|
||||||
doc.Print(&printer);
|
doc.Print(&printer);
|
||||||
character->_setXmlData(printer.CStr());
|
character->_setXmlData(printer.CStr());
|
||||||
doc.Clear();
|
printer.ClearBuffer();
|
||||||
|
|
||||||
character->_doQuickXMLDataParse();
|
character->_doQuickXMLDataParse();
|
||||||
|
character->LoadXmlRespawnCheckpoints();
|
||||||
|
|
||||||
entity->AddComponent<BuffComponent>()->LoadFromXml(entity->GetCharacter()->GetXMLDoc());
|
entity->AddComponent<BuffComponent>()->LoadFromXml(entity->GetCharacter()->GetXMLDoc());
|
||||||
|
entity->AddComponent<CharacterComponent>(character.get(), UNASSIGNED_SYSTEM_ADDRESS)->LoadFromXml(entity->GetCharacter()->GetXMLDoc());
|
||||||
}
|
}
|
||||||
|
|
||||||
void TearDown() override {
|
void TearDown() override {
|
||||||
entity->SetCharacter(nullptr);
|
entity->SetCharacter(nullptr);
|
||||||
|
|
||||||
entity.reset();
|
entity.reset();
|
||||||
character.reset();
|
character.reset();
|
||||||
|
|
||||||
TearDownDependencies();
|
TearDownDependencies();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
TEST_F(SavingTest, EntityLevelTest) {
|
TEST_F(SavingTest, EntityLevelTest) {
|
||||||
doc.Print(&printer);
|
// Print the original XML data
|
||||||
|
character->GetXMLDoc().Print(&printer);
|
||||||
std::string xmlDataOriginal(printer.CStr());
|
std::string xmlDataOriginal(printer.CStr());
|
||||||
doc.Clear();
|
printer.ClearBuffer();
|
||||||
|
|
||||||
character->SaveXMLToDatabase();
|
character->SaveXMLToDatabase();
|
||||||
doc.Print(&printer);
|
|
||||||
|
// Load the modified XML data
|
||||||
|
character->GetXMLDoc().Print(&printer);
|
||||||
std::string xmlDataModified(printer.CStr());
|
std::string xmlDataModified(printer.CStr());
|
||||||
doc.Clear();
|
printer.ClearBuffer();
|
||||||
// std::ofstream oldXml("./test_xml_data_original.xml");
|
std::ofstream oldXml("./test_xml_data_original.xml");
|
||||||
// std::ofstream newXml("./test_xml_data_new.xml");
|
std::ofstream newXml("./test_xml_data_new.xml");
|
||||||
// oldXml << xmlDataOriginal;
|
oldXml << xmlDataOriginal;
|
||||||
// newXml << xmlDataModified;
|
newXml << xmlDataModified;
|
||||||
LOG("Component count: %i Same: %i", entity->GetComponents().size(), xmlDataOriginal == xmlDataModified);
|
ASSERT_EQ(xmlDataOriginal, xmlDataModified);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user