119 lines
No EOL
2.8 KiB
C++
119 lines
No EOL
2.8 KiB
C++
|
|
#include "stdafx.h"
|
|
#include "DNPvPRoom.h"
|
|
#include "DNPvPRoomManager.h"
|
|
#include "DNUserSession.h"
|
|
/*
|
|
class MockTurtle : public Turtle {
|
|
...
|
|
MOCK_METHOD0(PenUp, void());
|
|
MOCK_METHOD0(PenDown, void());
|
|
MOCK_METHOD1(Forward, void(int distance));
|
|
MOCK_METHOD1(Turn, void(int degrees));
|
|
MOCK_METHOD2(GoTo, void(int x, int y));
|
|
MOCK_CONST_METHOD0(GetX, int());
|
|
MOCK_CONST_METHOD0(GetY, int());
|
|
};
|
|
|
|
using testing::AtLeast;
|
|
using testing::Return;
|
|
|
|
TEST(PainterTest, CanDrawSomething) {
|
|
|
|
MockTurtle turtle;
|
|
EXPECT_CALL(turtle, PenDown())
|
|
.Times(AtLeast(1));
|
|
|
|
EXPECT_CALL(turtle, GetX())
|
|
.WillOnce(Return(100))
|
|
.WillOnce(Return(200))
|
|
.WillOnce(Return(300));
|
|
|
|
Painter painter(&turtle);
|
|
|
|
EXPECT_TRUE(painter.DrawCircle(0, 0, 10));
|
|
}
|
|
*/
|
|
|
|
#if !defined( _FINAL_BUILD ) && !defined (__COVERITY__)
|
|
|
|
class MockCreateRoom
|
|
{
|
|
public:
|
|
MOCK_METHOD0( GetGameMode, BYTE() );
|
|
MOCK_METHOD0( GetPvPIndex, UINT() );
|
|
};
|
|
|
|
class PvPRoom_unittest:public testing::Test
|
|
{
|
|
protected:
|
|
|
|
virtual void SetUp()
|
|
{
|
|
CDNPvPRoomManager::CreateInstance();
|
|
m_pUserObj = new CDNUserSession;
|
|
|
|
memset( &m_CreateRoom, 0, sizeof(m_CreateRoom) );
|
|
|
|
m_CreateRoom.nRetCode = ERROR_NONE;
|
|
m_CreateRoom.sCSPVP_CREATEROOM.cRoomNameLen = 4;
|
|
m_CreateRoom.sCSPVP_CREATEROOM.cRoomPWLen = 0;
|
|
}
|
|
virtual void TearDown()
|
|
{
|
|
CDNPvPRoomManager::DestroyInstance();
|
|
delete m_pUserObj;
|
|
}
|
|
|
|
CDNPvPRoom* m_pPvPRoom;
|
|
CDNUserSession* m_pUserObj;
|
|
MAVIPVP_CREATEROOM m_CreateRoom;
|
|
MockCreateRoom m_Mock;
|
|
};
|
|
|
|
TEST_F( PvPRoom_unittest, CreateRoom )
|
|
{
|
|
EXPECT_CALL( m_Mock, GetGameMode() )
|
|
.WillOnce( testing::Return( PvPCommon::GameMode::PvP_Respawn ) )
|
|
.WillOnce( testing::Return( PvPCommon::GameMode::PvP_Round ) );
|
|
|
|
EXPECT_CALL( m_Mock, GetPvPIndex() )
|
|
.WillOnce( testing::Return( 1 ) )
|
|
.WillOnce( testing::Return( 2 ) );
|
|
|
|
for( UINT i=0 ; i<2 ; ++i )
|
|
{
|
|
m_CreateRoom.cGameMode = m_Mock.GetGameMode();
|
|
m_CreateRoom.uiPvPIndex = m_Mock.GetPvPIndex();
|
|
|
|
EXPECT_TRUE( CDNPvPRoomManager::GetInstance().CreatePvPRoom( m_pUserObj, &m_CreateRoom ) == ERROR_NONE );
|
|
}
|
|
}
|
|
|
|
TEST_F( PvPRoom_unittest, RoomListPage )
|
|
{
|
|
UINT uiRoomCount, uiMaxPage;
|
|
|
|
//
|
|
uiRoomCount = PvPCommon::Common::RoomPerPage - 1;
|
|
uiMaxPage = uiRoomCount/PvPCommon::Common::RoomPerPage;
|
|
if( uiMaxPage > 0 && uiRoomCount%PvPCommon::Common::RoomPerPage == 0 )
|
|
--uiMaxPage;
|
|
EXPECT_TRUE( uiMaxPage == 0 );
|
|
|
|
//
|
|
uiRoomCount = PvPCommon::Common::RoomPerPage;
|
|
uiMaxPage = uiRoomCount/PvPCommon::Common::RoomPerPage;
|
|
if( uiMaxPage > 0 && uiRoomCount%PvPCommon::Common::RoomPerPage == 0 )
|
|
--uiMaxPage;
|
|
EXPECT_TRUE( uiMaxPage == 0 );
|
|
|
|
//
|
|
uiRoomCount = PvPCommon::Common::RoomPerPage + 1;
|
|
uiMaxPage = uiRoomCount/PvPCommon::Common::RoomPerPage;
|
|
if( uiMaxPage > 0 && uiRoomCount%PvPCommon::Common::RoomPerPage == 0 )
|
|
--uiMaxPage;
|
|
EXPECT_TRUE( uiMaxPage == 1 );
|
|
}
|
|
|
|
#endif // #if defined( _FINAL_BUILD )
|