DragonNest/GameCommon/UnitTest/PvPRoomSort_unittest.cc
2024-12-19 09:48:26 +08:00

241 lines
7.1 KiB
C++

#include "stdafx.h"
#include "DNPvPRoomManager.h"
#include "DNPvPRoom.h"
#if !defined( _FINAL_BUILD ) && !defined (__COVERITY__)
class PvPRoomSort_unittest:public testing::Test
{
protected:
virtual void SetUp()
{
CDNPvPRoomManager::CreateInstance();
MAVIPVP_CREATEROOM CreateRoom;
memset( &CreateRoom, 0, sizeof(CreateRoom) );
CreateRoom.uiPvPIndex = 2;
CreateRoom.sCSPVP_CREATEROOM.cMaxUser = 1;
CreateRoom.cGameMode = PvPCommon::GameMode::PvP_Respawn;
CreateRoom.sCSPVP_CREATEROOM.uiMapIndex = 10001;
CDNPvPRoomManager::GetInstance().CreatePvPRoom( NULL, &CreateRoom );
CreateRoom.uiPvPIndex = 4;
CreateRoom.sCSPVP_CREATEROOM.cMaxUser = 1;
CreateRoom.cGameMode = PvPCommon::GameMode::PvP_Round;
CreateRoom.sCSPVP_CREATEROOM.uiMapIndex = 10002;
CDNPvPRoomManager::GetInstance().CreatePvPRoom( NULL, &CreateRoom );
CreateRoom.uiPvPIndex = 1;
CreateRoom.sCSPVP_CREATEROOM.cMaxUser = 0;
CreateRoom.cGameMode = PvPCommon::GameMode::PvP_Round;
CreateRoom.sCSPVP_CREATEROOM.uiMapIndex = 10000;
CDNPvPRoomManager::GetInstance().CreatePvPRoom( NULL, &CreateRoom );
CreateRoom.uiPvPIndex = 3;
CreateRoom.sCSPVP_CREATEROOM.cMaxUser = 0;
CreateRoom.cGameMode = PvPCommon::GameMode::PvP_Respawn;
CreateRoom.sCSPVP_CREATEROOM.uiMapIndex = 10000;
CDNPvPRoomManager::GetInstance().CreatePvPRoom( NULL, &CreateRoom );
}
virtual void TearDown()
{
CDNPvPRoomManager::DestroyInstance();
}
};
TEST_F( PvPRoomSort_unittest, RoomIndexByAsc )
{
MAVIPVP_ROOMLIST SortType;
memset( &SortType, 0, sizeof(SortType) );
SortType.sCSPVP_ROOMLIST.cIsAscend = 1;
SortType.sCSPVP_ROOMLIST.cRoomSortType = PvPCommon::RoomSortType::Index;
CDNPvPRoomManager::GetInstance().SendPvPRoomList( NULL, &SortType );
std::list<CDNPvPRoom*> List = CDNPvPRoomManager::GetInstance().GetList( 0 );
std::list<CDNPvPRoom*>::iterator itor = List.begin();
//
EXPECT_TRUE( (*itor)->GetIndex() == 2 );
//
std::advance( itor, 1 );
EXPECT_TRUE( (*itor)->GetIndex() == 4 );
//
std::advance( itor, 1 );
EXPECT_TRUE( (*itor)->GetIndex() == 1 );
//
std::advance( itor, 1 );
EXPECT_TRUE( (*itor)->GetIndex() == 3 );
}
TEST_F( PvPRoomSort_unittest, RoomIndexByDesc )
{
MAVIPVP_ROOMLIST SortType;
memset( &SortType, 0, sizeof(SortType) );
SortType.sCSPVP_ROOMLIST.cIsAscend = 0;
SortType.sCSPVP_ROOMLIST.cRoomSortType = PvPCommon::RoomSortType::Index;
CDNPvPRoomManager::GetInstance().SendPvPRoomList( NULL, &SortType );
std::list<CDNPvPRoom*> List = CDNPvPRoomManager::GetInstance().GetList( 0 );
std::list<CDNPvPRoom*>::iterator itor = List.begin();
//
EXPECT_TRUE( (*itor)->GetIndex() == 4 );
//
std::advance( itor, 1 );
EXPECT_TRUE( (*itor)->GetIndex() == 2 );
//
std::advance( itor, 1 );
EXPECT_TRUE( (*itor)->GetIndex() == 3 );
//
std::advance( itor, 1 );
EXPECT_TRUE( (*itor)->GetIndex() == 1 );
}
TEST_F( PvPRoomSort_unittest, GameMode )
{
MAVIPVP_ROOMLIST SortType;
memset( &SortType, 0, sizeof(SortType) );
SortType.sCSPVP_ROOMLIST.cRoomSortType = PvPCommon::RoomSortType::GameMode;
SortType.sCSPVP_ROOMLIST.uiSortData = PvPCommon::GameMode::PvP_Respawn;
CDNPvPRoomManager::GetInstance().SendPvPRoomList( NULL, &SortType );
std::list<CDNPvPRoom*> List = CDNPvPRoomManager::GetInstance().GetList( 0 );
std::list<CDNPvPRoom*>::iterator itor = List.begin();
//
EXPECT_TRUE( (*itor)->GetIndex() == 2 );
//
std::advance( itor, 1 );
EXPECT_TRUE( (*itor)->GetIndex() == 4 );
//
std::advance( itor, 1 );
EXPECT_TRUE( (*itor)->GetIndex() == 3 );
//
std::advance( itor, 1 );
EXPECT_TRUE( (*itor)->GetIndex() == 1 );
}
TEST_F( PvPRoomSort_unittest, GameMode2 )
{
MAVIPVP_ROOMLIST SortType;
memset( &SortType, 0, sizeof(SortType) );
SortType.sCSPVP_ROOMLIST.cRoomSortType = PvPCommon::RoomSortType::GameMode;
SortType.sCSPVP_ROOMLIST.uiSortData = PvPCommon::GameMode::Max;
CDNPvPRoomManager::GetInstance().SendPvPRoomList( NULL, &SortType );
std::list<CDNPvPRoom*> List = CDNPvPRoomManager::GetInstance().GetList( 0 );
std::list<CDNPvPRoom*>::iterator itor = List.begin();
//
EXPECT_TRUE( (*itor)->GetIndex() == 2 );
//
std::advance( itor, 1 );
EXPECT_TRUE( (*itor)->GetIndex() == 4 );
//
std::advance( itor, 1 );
EXPECT_TRUE( (*itor)->GetIndex() == 3 );
//
std::advance( itor, 1 );
EXPECT_TRUE( (*itor)->GetIndex() == 1 );
}
TEST_F( PvPRoomSort_unittest, GameMode3 )
{
MAVIPVP_ROOMLIST SortType;
memset( &SortType, 0, sizeof(SortType) );
SortType.sCSPVP_ROOMLIST.cRoomSortType = PvPCommon::RoomSortType::GameMode;
SortType.sCSPVP_ROOMLIST.uiSortData = PvPCommon::GameMode::PvP_Round;
CDNPvPRoomManager::GetInstance().SendPvPRoomList( NULL, &SortType );
std::list<CDNPvPRoom*> List = CDNPvPRoomManager::GetInstance().GetList( 0 );
std::list<CDNPvPRoom*>::iterator itor = List.begin();
//
EXPECT_TRUE( (*itor)->GetIndex() == 4 );
//
std::advance( itor, 1 );
EXPECT_TRUE( (*itor)->GetIndex() == 2 );
//
std::advance( itor, 1 );
EXPECT_TRUE( (*itor)->GetIndex() == 1 );
//
std::advance( itor, 1 );
EXPECT_TRUE( (*itor)->GetIndex() == 3 );
}
TEST_F( PvPRoomSort_unittest, Map )
{
MAVIPVP_ROOMLIST SortType;
memset( &SortType, 0, sizeof(SortType) );
SortType.sCSPVP_ROOMLIST.cRoomSortType = PvPCommon::RoomSortType::MapIndex;
SortType.sCSPVP_ROOMLIST.uiSortData = 10000;
CDNPvPRoomManager::GetInstance().SendPvPRoomList( NULL, &SortType );
std::list<CDNPvPRoom*> List = CDNPvPRoomManager::GetInstance().GetList( 0 );
std::list<CDNPvPRoom*>::iterator itor = List.begin();
//
EXPECT_TRUE( (*itor)->GetIndex() == 2 );
//
std::advance( itor, 1 );
EXPECT_TRUE( (*itor)->GetIndex() == 4 );
//
std::advance( itor, 1 );
EXPECT_TRUE( (*itor)->GetIndex() == 1 );
//
std::advance( itor, 1 );
EXPECT_TRUE( (*itor)->GetIndex() == 3 );
}
TEST_F( PvPRoomSort_unittest, Map2 )
{
MAVIPVP_ROOMLIST SortType;
memset( &SortType, 0, sizeof(SortType) );
SortType.sCSPVP_ROOMLIST.cRoomSortType = PvPCommon::RoomSortType::MapIndex;
SortType.sCSPVP_ROOMLIST.uiSortData = 10001;
CDNPvPRoomManager::GetInstance().SendPvPRoomList( NULL, &SortType );
std::list<CDNPvPRoom*> List = CDNPvPRoomManager::GetInstance().GetList( 0 );
std::list<CDNPvPRoom*>::iterator itor = List.begin();
//
EXPECT_TRUE( (*itor)->GetIndex() == 2 );
//
std::advance( itor, 1 );
EXPECT_TRUE( (*itor)->GetIndex() == 4 );
//
std::advance( itor, 1 );
EXPECT_TRUE( (*itor)->GetIndex() == 1 );
//
std::advance( itor, 1 );
EXPECT_TRUE( (*itor)->GetIndex() == 3 );
}
TEST_F( PvPRoomSort_unittest, Map3 )
{
MAVIPVP_ROOMLIST SortType;
memset( &SortType, 0, sizeof(SortType) );
SortType.sCSPVP_ROOMLIST.cRoomSortType = PvPCommon::RoomSortType::MapIndex;
SortType.sCSPVP_ROOMLIST.uiSortData = 10002;
CDNPvPRoomManager::GetInstance().SendPvPRoomList( NULL, &SortType );
std::list<CDNPvPRoom*> List = CDNPvPRoomManager::GetInstance().GetList( 0 );
std::list<CDNPvPRoom*>::iterator itor = List.begin();
//
EXPECT_TRUE( (*itor)->GetIndex() == 4 );
//
std::advance( itor, 1 );
EXPECT_TRUE( (*itor)->GetIndex() == 2 );
//
std::advance( itor, 1 );
EXPECT_TRUE( (*itor)->GetIndex() == 1 );
//
std::advance( itor, 1 );
EXPECT_TRUE( (*itor)->GetIndex() == 3 );
}
#endif // #if !defined( _FINAL_BUILD )