2024-12-21 10:04:04 +08:00
|
|
|
|
#include "StdAfx.h"
|
|
|
|
|
|
#include "item_data_test.h"
|
|
|
|
|
|
|
|
|
|
|
|
DNTableFileFormat* item_data_test::s_pItemTable = NULL;
|
|
|
|
|
|
DNTableFileFormat* item_data_test::s_pItemDropTable = NULL;
|
|
|
|
|
|
DNTableFileFormat* item_data_test::s_pItemDropGroupTable = NULL;
|
|
|
|
|
|
DNTableFileFormat* item_data_test::s_pCombinedShopTable = NULL;
|
|
|
|
|
|
|
|
|
|
|
|
#define ITEM_T item_data_test::s_pItemTable
|
|
|
|
|
|
#define ITEMDROP_T item_data_test::s_pItemDropTable
|
|
|
|
|
|
#define ITEMDROPGROUP_T item_data_test::s_pItemDropGroupTable
|
|
|
|
|
|
#define COMBINEDSHOP_T item_data_test::s_pCombinedShopTable
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
item_data_test::item_data_test(void)
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
item_data_test::~item_data_test(void)
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void item_data_test::SetUpTestCase( void )
|
|
|
|
|
|
{
|
|
|
|
|
|
//// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>켱<EFBFBD><ECBCB1><EFBFBD><EFBFBD> <20>˻<EFBFBD><CBBB>ϰ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⺻ <20><><EFBFBD>ҽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ã<>´<EFBFBD>.
|
|
|
|
|
|
//vector<string> vlFilePathsToVerify;
|
|
|
|
|
|
//string strTableFullPath;
|
|
|
|
|
|
|
|
|
|
|
|
//// ItemTable_Quest, ItemTable_Event, ItemTable_Equipment, ItemTable_Cash <20>ø<EFBFBD><C3B8><EFBFBD><EEBAB0> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ƽ<EFBFBD> <20>ε<EFBFBD> <20><>.
|
|
|
|
|
|
//GatherConcernedExt( "ItemTable.ext", vlFilePathsToVerify, strTableFullPath );
|
|
|
|
|
|
//s_pItemTable = new DNTableFileFormat( strTableFullPath.c_str() );
|
|
|
|
|
|
|
|
|
|
|
|
//GatherConcernedExt( "ItemDropTable.ext", vlFilePathsToVerify, strTableFullPath );
|
|
|
|
|
|
//s_pItemDropTable = new DNTableFileFormat( strTableFullPath.c_str() );
|
|
|
|
|
|
|
|
|
|
|
|
//GatherConcernedExt( "ItemDropGroupTable.ext", vlFilePathsToVerify, strTableFullPath );
|
|
|
|
|
|
//s_pItemDropGroupTable = new DNTableFileFormat( strTableFullPath.c_str() );
|
|
|
|
|
|
|
|
|
|
|
|
s_pItemTable = LoadExtFile( "ItemTable.dnt" );
|
|
|
|
|
|
|
|
|
|
|
|
s_pItemDropTable = LoadExtFile( "ItemDropTable.dnt" );
|
|
|
|
|
|
|
|
|
|
|
|
s_pItemDropGroupTable = LoadExtFile( "ItemDropGroupTable.dnt" );
|
|
|
|
|
|
|
|
|
|
|
|
s_pCombinedShopTable = LoadExtFile( "combinedshoptable.dnt" );
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void item_data_test::TearDownTestCase( void )
|
|
|
|
|
|
{
|
|
|
|
|
|
SAFE_DELETE( s_pItemTable );
|
|
|
|
|
|
SAFE_DELETE( s_pItemDropTable );
|
|
|
|
|
|
SAFE_DELETE( s_pItemDropGroupTable );
|
|
|
|
|
|
SAFE_DELETE( s_pCombinedShopTable );
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void item_data_test::SetUp( void )
|
|
|
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void item_data_test::TearDown( void )
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void ValidateItemDropGroupTableID( const char* pLabel, int iGroupTableID )
|
|
|
|
|
|
{
|
|
|
|
|
|
//char acBuf[ MAX_PATH ] = { 0 };
|
|
|
|
|
|
//TCHAR atcBuf[ 256 ] = { 0 };
|
|
|
|
|
|
|
|
|
|
|
|
//for( int k = 1; k <= 10; ++k )
|
|
|
|
|
|
//{
|
|
|
|
|
|
// sprintf_s( acBuf, pLabel, k );
|
|
|
|
|
|
// int iDropTableIDToFind = ITEMDROPGROUP_T->GetFieldFromLablePtr( iGroupTableID, acBuf )->GetInteger();
|
|
|
|
|
|
|
|
|
|
|
|
// if( 0 == iDropTableIDToFind )
|
|
|
|
|
|
// continue;
|
|
|
|
|
|
|
|
|
|
|
|
// _stprintf_s( atcBuf, _T("{TableName:ItemDropGroupTable, Index:%d, Note:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ<EFBFBD> DropTableID(%d) <20>Դϴ<D4B4>.}"), iGroupTableID, iDropTableIDToFind );
|
|
|
|
|
|
// SCOPED_TRACE( atcBuf );
|
|
|
|
|
|
// EXPECT_TRUE( ITEMDROP_T->IsExistItem( iDropTableIDToFind ) );
|
|
|
|
|
|
//}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 1. Easy1~10, Normal1~10, Hard1~0, Master1~10, Abyss1~10 <20><> 50<35><30> <20><EFBFBD><D7B8><EFBFBD> <20>ε<EFBFBD><CEB5><EFBFBD><EFBFBD><EFBFBD> ItemDropTableID<49><44> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Error.
|
|
|
|
|
|
TEST_F( item_data_test, GROUPTABLE_REFERENCED_INVALID_DROP_TABLE_ID )
|
|
|
|
|
|
{
|
|
|
|
|
|
// #38719, #31905 <20>̽<EFBFBD><CCBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD> <20><><EFBFBD>̺<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ݿ<EFBFBD>.
|
|
|
|
|
|
TCHAR atcBuf[ 256 ] = { 0 };
|
|
|
|
|
|
int iNumGroupTable = ITEMDROPGROUP_T->GetItemCount();
|
|
|
|
|
|
for( int i = 0; i < iNumGroupTable; ++i )
|
|
|
|
|
|
{
|
|
|
|
|
|
int iGroupTableID = ITEMDROPGROUP_T->GetItemID( i );
|
|
|
|
|
|
int iDropTableIDToFind = ITEMDROPGROUP_T->GetFieldFromLablePtr( iGroupTableID, "_DropID" )->GetInteger();
|
|
|
|
|
|
|
|
|
|
|
|
_stprintf_s( atcBuf, _T("{TableName:ItemDropGroupTable, Index:%d, Note:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ<EFBFBD> DropTableID(%d) <20>Դϴ<D4B4>.}"), iGroupTableID, iDropTableIDToFind );
|
|
|
|
|
|
SCOPED_TRACE( atcBuf );
|
|
|
|
|
|
EXPECT_TRUE( ITEMDROP_T->IsExistItem( iDropTableIDToFind ) );
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//int iNumGroupTable = ITEMDROPGROUP_T->GetItemCount();
|
|
|
|
|
|
//for( int i = 0; i < iNumGroupTable; ++i )
|
|
|
|
|
|
//{
|
|
|
|
|
|
// int iGroupTableID = ITEMDROPGROUP_T->GetItemID( i );
|
|
|
|
|
|
|
|
|
|
|
|
// ValidateItemDropGroupTableID( "Easy%d", iGroupTableID );
|
|
|
|
|
|
// ValidateItemDropGroupTableID( "Normal%d", iGroupTableID );
|
|
|
|
|
|
// ValidateItemDropGroupTableID( "Hard%d", iGroupTableID );
|
|
|
|
|
|
// ValidateItemDropGroupTableID( "Master%d", iGroupTableID );
|
|
|
|
|
|
// ValidateItemDropGroupTableID( "Abyss%d", iGroupTableID );
|
|
|
|
|
|
//}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 1. _Item1Prob ~ _Item20Prob<6F><62> <20><> <20><><EFBFBD><EFBFBD> 10<31><30> (1,000,000,000) <20><> <20>Ѵ<EFBFBD> <20><><EFBFBD><EFBFBD> Error
|
|
|
|
|
|
TEST_F( item_data_test, DROP_TABLE_PROB_OVER )
|
|
|
|
|
|
{
|
|
|
|
|
|
char acBuf[ 256 ] = { 0 };
|
|
|
|
|
|
TCHAR atcBuf[ 256 ] = { 0 };
|
|
|
|
|
|
int iNumDropTable = ITEMDROP_T->GetItemCount();
|
|
|
|
|
|
for( int i = 0; i < iNumDropTable; ++i )
|
|
|
|
|
|
{
|
|
|
|
|
|
int iDropTableID = ITEMDROP_T->GetItemID( i );
|
|
|
|
|
|
int iWholeProb = 0;
|
|
|
|
|
|
for( int k = 1; k <= 20; ++k )
|
|
|
|
|
|
{
|
|
|
|
|
|
sprintf_s( acBuf, "_Item%dProb", k );
|
|
|
|
|
|
int iProb = ITEMDROP_T->GetFieldFromLablePtr( iDropTableID, acBuf )->GetInteger();
|
|
|
|
|
|
iWholeProb += iProb;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
_stprintf_s( atcBuf, _T("{TableName:ItemDropTable, Index:%d, Note:Ȯ<><C8AE> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> 10<31><30> <20><><EFBFBD><EFBFBD> Ů<>ϴ<EFBFBD>. <20><><EFBFBD><EFBFBD> <20>հ<EFBFBD>- %d}"), iDropTableID, iWholeProb );
|
|
|
|
|
|
SCOPED_TRACE( atcBuf );
|
|
|
|
|
|
EXPECT_LE( iWholeProb, 1000000000 );
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
//
|
|
|
|
|
|
//// 2. _IsGroup <20><> <20><><EFBFBD><EFBFBD> n <20>϶<EFBFBD> _Item1Index ~ _Item20Index<65><78> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Index<65><78> <20>ش<EFBFBD><D8B4>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Error.
|
|
|
|
|
|
//TEST_F( item_data_test, INVALID_REFERENCE_ITEM_TABLE_ID )
|
|
|
|
|
|
//{
|
|
|
|
|
|
// char acBuf[ 256 ] = { 0 };
|
|
|
|
|
|
// TCHAR atcBuf[ 256 ] = { 0 };
|
|
|
|
|
|
// int iNumDropTable = ITEMDROP_T->GetItemCount();
|
|
|
|
|
|
// for( int i = 0; i < iNumDropTable; ++i )
|
|
|
|
|
|
// {
|
|
|
|
|
|
// int iDropTableID = ITEMDROP_T->GetItemID( i );
|
|
|
|
|
|
// int iWholeProb = 0;
|
|
|
|
|
|
// for( int k = 1; k <= 20; ++k )
|
|
|
|
|
|
// {
|
|
|
|
|
|
// sprintf_s( acBuf, "_IsGroup%d", k );
|
|
|
|
|
|
// int iIsGroup = ITEMDROP_T->GetFieldFromLablePtr( iDropTableID, acBuf )->GetInteger();
|
|
|
|
|
|
// if( iIsGroup == 0 )
|
|
|
|
|
|
// {
|
|
|
|
|
|
// sprintf_s( acBuf, "_Item%dIndex", k );
|
|
|
|
|
|
// int iItemTableID = ITEMDROP_T->GetFieldFromLablePtr( iDropTableID, acBuf )->GetInteger();
|
|
|
|
|
|
//
|
|
|
|
|
|
// if( 0 == iItemTableID )
|
|
|
|
|
|
// continue;
|
|
|
|
|
|
//
|
|
|
|
|
|
// _stprintf_s( atcBuf, _T("[DropTableID: %d] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ID <20>Դϴ<D4B4>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID: %d"), iDropTableID, iItemTableID );
|
|
|
|
|
|
// SCOPED_TRACE( atcBuf );
|
|
|
|
|
|
// EXPECT_TRUE( ITEM_T->IsExistItem( iItemTableID ) );
|
|
|
|
|
|
// }
|
|
|
|
|
|
// }
|
|
|
|
|
|
// }
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
void ValidateDropTableReferenceItemID( int iDropTableID/*, vector<int>& vlParentDropTableStack*/ )
|
|
|
|
|
|
{
|
|
|
|
|
|
char acBuf[ 256 ] = { 0 };
|
|
|
|
|
|
TCHAR atcBuf[ 256 ] = { 0 };
|
|
|
|
|
|
for( int k = 1; k <= 20; ++k )
|
|
|
|
|
|
{
|
|
|
|
|
|
sprintf_s( acBuf, "_IsGroup%d", k );
|
|
|
|
|
|
int iIsGroup = ITEMDROP_T->GetFieldFromLablePtr( iDropTableID, acBuf )->GetInteger();
|
|
|
|
|
|
if( iIsGroup == 1 )
|
|
|
|
|
|
{
|
|
|
|
|
|
sprintf_s( acBuf, "_Item%dIndex", k );
|
|
|
|
|
|
int iReferenceDropTableID = ITEMDROP_T->GetFieldFromLablePtr( iDropTableID, acBuf )->GetInteger();
|
|
|
|
|
|
|
|
|
|
|
|
if( 0 == iReferenceDropTableID )
|
|
|
|
|
|
continue;
|
|
|
|
|
|
|
|
|
|
|
|
//vector<int>::iterator iter = find( vlParentDropTableStack.begin(), vlParentDropTableStack.end(), iReferenceDropTableID );
|
|
|
|
|
|
//bool bDuplicatedSelfReference = (vlParentDropTableStack.end() != iter);
|
|
|
|
|
|
//if( bDuplicatedSelfReference )
|
|
|
|
|
|
//{
|
|
|
|
|
|
// continue;
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
_stprintf_s( atcBuf, _T("{TableName:ItemDropTable, Index:%d, _Item%dIndex:%d, Note:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ<EFBFBD> DropTableID <20>Դϴ<D4B4>.}"), iDropTableID, k, iReferenceDropTableID );
|
|
|
|
|
|
SCOPED_TRACE( atcBuf );
|
|
|
|
|
|
bool bExistDropItemID = ITEMDROP_T->IsExistItem( iReferenceDropTableID );
|
|
|
|
|
|
EXPECT_TRUE( bExistDropItemID );
|
|
|
|
|
|
|
|
|
|
|
|
//if( bExistDropItemID )
|
|
|
|
|
|
//{
|
|
|
|
|
|
//vlParentDropTableStack.push_back( iReferenceDropTableID );
|
|
|
|
|
|
//ValidateDropTableReferenceItemID( iReferenceDropTableID/*, vlParentDropTableStack*/ );
|
|
|
|
|
|
//vlParentDropTableStack.pop_back();
|
|
|
|
|
|
//}
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
sprintf_s( acBuf, "_Item%dIndex", k );
|
|
|
|
|
|
int iItemTableID = ITEMDROP_T->GetFieldFromLablePtr( iDropTableID, acBuf )->GetInteger();
|
|
|
|
|
|
|
|
|
|
|
|
if( 0 == iItemTableID )
|
|
|
|
|
|
continue;
|
|
|
|
|
|
|
|
|
|
|
|
_stprintf_s( atcBuf, _T("{TableName:ItemDropTable, Index:%d, _Item%dIndex:%d, Note:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ<EFBFBD> ItemTableID <20>Դϴ<D4B4>.}"), iDropTableID, k, iItemTableID );
|
|
|
|
|
|
SCOPED_TRACE( atcBuf );
|
|
|
|
|
|
EXPECT_TRUE( ITEM_T->IsExistItem( iItemTableID ) );
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 3. _IsGroup <20><> <20><><EFBFBD><EFBFBD> y <20>϶<EFBFBD> _Item1Index ~ _Item20Index<65><78> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Index<65><78> <20>ش<EFBFBD><D8B4>ϴ<EFBFBD> ItemDropTableID<49><44> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Error.TEST_F( item_data_test, INVALID_REFERENCE_ITEM_TABLE_ID )
|
|
|
|
|
|
TEST_F( item_data_test, INVALID_REFERENCE_DROP_GROUP_TABLE_ID )
|
|
|
|
|
|
{
|
|
|
|
|
|
int iNumDropTable = ITEMDROP_T->GetItemCount();
|
|
|
|
|
|
for( int i = 0; i < iNumDropTable; ++i )
|
|
|
|
|
|
{
|
|
|
|
|
|
int iDropTableID = ITEMDROP_T->GetItemID( i );
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̺<EFBFBD><CCBA><EFBFBD> <20>ڽ<EFBFBD><DABD><EFBFBD> <20>ε<EFBFBD><CEB5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϹǷ<CFB9> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>̾<EFBFBD><CCBE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> üũ.
|
|
|
|
|
|
//vector<int> vlDropTableIDStack;
|
|
|
|
|
|
//vlDropTableIDStack.push_back( iDropTableID );
|
|
|
|
|
|
ValidateDropTableReferenceItemID( iDropTableID/*, vlDropTableIDStack*/ );
|
|
|
|
|
|
//_ASSERT( (int)vlDropTableIDStack.size() == 1 );
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// #45783 CombinedShop <20><><EFBFBD>̺<EFBFBD> <20><><EFBFBD><EFBFBD> <20>߰<EFBFBD> <20><>û
|
|
|
|
|
|
TEST_F( item_data_test, INVALID_ID_REFERENCE_COMBINED_SHOP_TABLE_ID )
|
|
|
|
|
|
{
|
|
|
|
|
|
TCHAR atcBuf[ 256 ] = { 0 };
|
|
|
|
|
|
|
|
|
|
|
|
int iNumCombinedShopTable = COMBINEDSHOP_T->GetItemCount();
|
|
|
|
|
|
for( int i = 0; i < iNumCombinedShopTable; ++i )
|
|
|
|
|
|
{
|
|
|
|
|
|
int iCombinedShopTableID = COMBINEDSHOP_T->GetItemID( i );
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>̺<EFBFBD><CCBA><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD> üũ
|
|
|
|
|
|
int iItemTableID = COMBINEDSHOP_T->GetFieldFromLablePtr( iCombinedShopTableID, "_itemindex" )->GetInteger();
|
|
|
|
|
|
_stprintf_s( atcBuf, _T("{TableName:CombinedShopTable, Index:%d, Note:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ<EFBFBD> ItemTableID(%d) <20>Դϴ<D4B4>.}"), iCombinedShopTableID, iItemTableID );
|
|
|
|
|
|
SCOPED_TRACE( atcBuf );
|
|
|
|
|
|
EXPECT_TRUE( ITEM_T->IsExistItem( iItemTableID ) );
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// #48623 <20><><EFBFBD><EFBFBD> <20>Ǹ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̺<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
TEST_F( item_data_test, SELLING_PRICE_ERROR )
|
|
|
|
|
|
{
|
|
|
|
|
|
TCHAR atcBuf[ 256 ] = { 0 };
|
|
|
|
|
|
|
|
|
|
|
|
int iNumItems = COMBINEDSHOP_T->GetItemCount();
|
|
|
|
|
|
for( int i = 0; i < iNumItems; ++i )
|
|
|
|
|
|
{
|
|
|
|
|
|
int iItemID = COMBINEDSHOP_T->GetItemID( i );
|
|
|
|
|
|
|
|
|
|
|
|
int aiPurchaseType[ 2 ] = { 0 };
|
|
|
|
|
|
aiPurchaseType[ 0 ] = COMBINEDSHOP_T->GetFieldFromLablePtr( iItemID, "_PurchaseType1" )->GetInteger();
|
|
|
|
|
|
aiPurchaseType[ 1 ] = COMBINEDSHOP_T->GetFieldFromLablePtr( iItemID, "_PurchaseType2" )->GetInteger();
|
|
|
|
|
|
|
|
|
|
|
|
// 1 <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD>常 <20><><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD> <20><>.
|
|
|
|
|
|
for( int k = 0; k < 2; ++k )
|
|
|
|
|
|
{
|
|
|
|
|
|
int iItemTableID = COMBINEDSHOP_T->GetFieldFromLablePtr( iItemID, "_itemindex" )->GetInteger();
|
|
|
|
|
|
if( 1 == aiPurchaseType[ k ] )
|
|
|
|
|
|
{
|
|
|
|
|
|
char acBuf[ 128 ] = { 0 };
|
|
|
|
|
|
sprintf_s( acBuf, "_PurchaseItemValue%d", k+1 );
|
|
|
|
|
|
int iBuyPrice = COMBINEDSHOP_T->GetFieldFromLablePtr( iItemID, acBuf )->GetInteger();
|
|
|
|
|
|
int iSellPriceTwice = ITEM_T->GetFieldFromLablePtr( iItemTableID, "_SellAmount" )->GetInteger() * 2;
|
|
|
|
|
|
|
|
|
|
|
|
_stprintf_s( atcBuf, _T("{TableName:CombinedShopTable, Index:%d, Note:<3A><><EFBFBD><EFBFBD> <20>Ǹűݾ<C5B1><DDBE><EFBFBD> <20><><EFBFBD><EFBFBD><D4B0><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.}"), iItemTableID );
|
|
|
|
|
|
SCOPED_TRACE( atcBuf );
|
|
|
|
|
|
EXPECT_GE( iBuyPrice, iSellPriceTwice );
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>̺<EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ⱦ<EFBFBD><C8BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.. <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ִ<EFBFBD><D6B4>ϴ<EFBFBD> <20>ϴ<EFBFBD> <20>߰<EFBFBD>.
|
|
|
|
|
|
//iNumItems = ITEM_T->GetItemCount();
|
|
|
|
|
|
//for( int i = 0; i < iNumItems; ++i )
|
|
|
|
|
|
//{
|
|
|
|
|
|
// int iItemID = ITEM_T->GetItemID( i );
|
|
|
|
|
|
// int iBuyPrice = ITEM_T->GetFieldFromLablePtr( iItemID, "_Amount" )->GetInteger();
|
|
|
|
|
|
// int iSellPriceTwice = ITEM_T->GetFieldFromLablePtr( iItemID, "_SellAmount" )->GetInteger();
|
|
|
|
|
|
|
|
|
|
|
|
// _stprintf_s( atcBuf, _T("{TableName:ItemTable, Index:%d, Note:<3A><><EFBFBD><EFBFBD> <20>Ǹűݾ<C5B1><DDBE><EFBFBD> <20><><EFBFBD><EFBFBD><D4B0><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.}"), iItemID );
|
|
|
|
|
|
// SCOPED_TRACE( atcBuf );
|
|
|
|
|
|
// EXPECT_GT( iBuyPrice, iSellPriceTwice );
|
|
|
|
|
|
//}
|
|
|
|
|
|
}
|