68 lines
No EOL
1.7 KiB
C++
68 lines
No EOL
1.7 KiB
C++
#include "StdAfx.h"
|
|
#include "dungeon_enter_test.h"
|
|
|
|
DNTableFileFormat* dungeon_enter_test::s_pDungeonEnterTable= NULL;
|
|
|
|
#define DUNGEONENTER_T dungeon_enter_test::s_pDungeonEnterTable
|
|
|
|
dungeon_enter_test::dungeon_enter_test(void)
|
|
{
|
|
|
|
}
|
|
|
|
dungeon_enter_test::~dungeon_enter_test(void)
|
|
{
|
|
|
|
}
|
|
|
|
|
|
void dungeon_enter_test::SetUpTestCase( void )
|
|
{
|
|
// 지정된 국가 우선으로 검색하고 없으면 기본 리소스 폴더에서 찾는다.
|
|
s_pDungeonEnterTable = LoadExtFile( "StageEnterTable.dnt" );
|
|
}
|
|
|
|
void dungeon_enter_test::TearDownTestCase( void )
|
|
{
|
|
SAFE_DELETE( s_pDungeonEnterTable );
|
|
}
|
|
|
|
|
|
void dungeon_enter_test::SetUp( void )
|
|
{
|
|
}
|
|
|
|
|
|
void dungeon_enter_test::TearDown( void )
|
|
{
|
|
|
|
}
|
|
|
|
TEST_F( dungeon_enter_test, NEEDITEM_IS_NOT_ZERO_BUT_COUNT_IS_ZERO )
|
|
{
|
|
TCHAR atcBuf[ 512 ];
|
|
int iNumItemCount = DUNGEONENTER_T->GetItemCount();
|
|
for( int iDungeon = 0; iDungeon < iNumItemCount; ++iDungeon )
|
|
{
|
|
int iDungeonID = DUNGEONENTER_T->GetItemID( iDungeon );
|
|
|
|
// 현재 안쓰는 행인지 판단하려면 이 값말고는 없는 듯 하다.
|
|
int iMinLevel = DUNGEONENTER_T->GetFieldFromLablePtr( iDungeonID, "_LvlMin" )->GetInteger();
|
|
if( iMinLevel == -1 ) continue;
|
|
|
|
// 필요아이템과 아이템수량을 얻어서,
|
|
int iNeedItemID = DUNGEONENTER_T->GetFieldFromLablePtr( iDungeonID, "_NeedItemID" )->GetInteger();
|
|
int iNeedItemCount = DUNGEONENTER_T->GetFieldFromLablePtr( iDungeonID, "_NeedItemCount" )->GetInteger();
|
|
|
|
bool bOK = true;
|
|
if( iNeedItemID > 0 && iNeedItemCount == 0 )
|
|
bOK = false;
|
|
|
|
{
|
|
ZeroMemory( atcBuf, sizeof(atcBuf) );
|
|
_stprintf_s( atcBuf, _T("{TableName:StageEnterTable, Index:%d, Note:필요아이템엔 값이 있는데 필요아이템수량이 0 으로 설정되어있습니다.}"), iDungeonID );
|
|
SCOPED_TRACE( atcBuf );
|
|
EXPECT_TRUE( bOK );
|
|
}
|
|
}
|
|
} |