DragonNest/Client/Test/SkillTest/EmblemTest/Test_Emblem.cpp

139 lines
9.5 KiB
C++
Raw Normal View History

2024-12-20 16:56:44 +08:00
<EFBFBD><EFBFBD>#include "StdAfx.h"
#include "Test_Emblem.h"
#include "../../../../GameCommon/DnItemCompounder.h"
#include "SundriesFunc.h"
#include <mmsystem.h>
CPPUNIT_TEST_SUITE_REGISTRATION( CTest_Emblem );
CTest_Emblem::CTest_Emblem(void)
{
srand( timeGetTime() );
m_pItemCompounder = new CDnItemCompounder;
bool bResult = m_pItemCompounder->InitializeTable();
CPPUNIT_ASSERT_MESSAGE( "Emblem Factory <08>0<EFBFBD>T<EFBFBD> <00><>(<28>. L<>t<EFBFBD><14> p<>t<EFBFBD>0<EFBFBD> $<24>X<EFBFBD>", true == bResult );
}
CTest_Emblem::~CTest_Emblem(void)
{
SAFE_DELETE( m_pItemCompounder );
}
void CTest_Emblem::test_composition_Jewel_Plate( void )
{
// D<EFBFBD>t<EFBFBD>\<EFBFBD> p<EFBFBD>i<EFBFBD> ¸<EFBFBD>
CDnItemCompounder::S_ITEM_SETTING_INFO SettingInfo;
CDnItemCompounder::S_OUTPUT Output;
//for( int i = 0; i < NUM_MAX_NEED_ITEM; ++i )
//{
// SettingInfo.aiItemID[ i ] = i+1;
// SettingInfo.aiItemCount[ i ] = i+1;
//}
SettingInfo.aiItemID[ 0 ] = 521010001;
SettingInfo.aiItemCount[ 0 ] = 1;
SettingInfo.aiItemID[ 1 ] = 521010011;
SettingInfo.aiItemCount[ 1 ] = 1;
SettingInfo.aiItemID[ 2 ] = 521010021;
SettingInfo.aiItemCount[ 2 ] = 1;
SettingInfo.iCompoundTableID = 1;
SettingInfo.iHasMoney = 100;
// <EFBFBD> D<EFBFBD>t<EFBFBD>\<EFBFBD> <EFBFBD><EFBFBD>o<EFBFBD><EFBFBD><EFBFBD> K<EFBFBD><EFBFBD> H<EFBFBD><EFBFBD> p<EFBFBD> ¸<EFBFBD>
SettingInfo.aiItemID[ 0 ] = 0;
m_pItemCompounder->ValidateEmblemCompound( 1, SettingInfo, &Output );
CPPUNIT_ASSERT_MESSAGE( "<00><>o<EFBFBD> <58><00> D<><44>ňǔ<C588> <00><><EFBFBD><EFBFBD>!", CDnItemCompounder::E_NOT_ENOUGH_ITEM == Output.eErrorCode &&
CDnItemCompounder::R_ERROR == Output.eResultCode );
// <EFBFBD><EFBFBD>o<EFBFBD><EFBFBD><EFBFBD> ޹<EFBFBD><EFBFBD> <EFBFBD> D<EFBFBD>t<EFBFBD>\<EFBFBD>x<EFBFBD> p<EFBFBD> ¸<EFBFBD>
SettingInfo.aiItemID[ 0 ] = 2;
m_pItemCompounder->ValidateEmblemCompound( 1, SettingInfo, &Output );
CPPUNIT_ASSERT_MESSAGE( "<00><>o<EFBFBD><6F><EFBFBD> ޹<><DEB9> <4A> D<>t<EFBFBD>\<EFBFBD> K<><05> <00><><EFBFBD><EFBFBD>!", CDnItemCompounder::E_NOT_MATCH_SLOT == Output.eErrorCode &&
CDnItemCompounder::R_ERROR == Output.eResultCode );
// <EFBFBD> D<EFBFBD>t<EFBFBD>\<EFBFBD> /<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ǀ<EFBFBD> p<EFBFBD> ¸<EFBFBD>
SettingInfo.aiItemID[ 0 ] = 521010001;
SettingInfo.aiItemCount[ 0 ] = 0;
m_pItemCompounder->ValidateEmblemCompound( 1, SettingInfo, &Output );
CPPUNIT_ASSERT_MESSAGE( "<44> D<>t<EFBFBD>\<EFBFBD> /<2F><18> <00><><EFBFBD>ǀ<EFBFBD> <00><><EFBFBD><EFBFBD>!", CDnItemCompounder::E_NOT_ENOUGH_ITEM_COUNT == Output.eErrorCode &&
CDnItemCompounder::R_ERROR == Output.eResultCode );
// DՔƐ<EFBFBD><EFBFBD> K<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>t<EFBFBD> ֬<EFBFBD> 0<EFBFBD><EFBFBD>
//// ȳ <EFBFBD><EFBFBD>q<EFBFBD>\<EFBFBD> p<EFBFBD> ¸<EFBFBD>.
//SettingInfo.aiItemID[ 0 ] = 521010001;
//SettingInfo.aiItemCount[ 0 ] = 1;
//SettingInfo.iHasMoney = 50;
//m_pItemCompounder->ValidateEmblemCompound( 1, SettingInfo, &Output );
//CPPUNIT_ASSERT_MESSAGE( "ȳt<C8B3> <00><>q<EFBFBD>\<EFBFBD> <00><><EFBFBD><EFBFBD>!", CDnItemCompounder::E_NOT_ENOUGH_MONEY == Output.eErrorCode &&
// CDnItemCompounder::R_ERROR == Output.eResultCode );
// t<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> ‰<EFBFBD>X<EFBFBD><EFBFBD><EFBFBD> <EFBFBD> D<EFBFBD>t<EFBFBD>\<EFBFBD> p<EFBFBD>i<EFBFBD>
SettingInfo.iCompoundTableID = 10;
SettingInfo.iHasMoney = 100;
m_pItemCompounder->ValidateEmblemCompound( 620000001, SettingInfo, &Output );
CPPUNIT_ASSERT_MESSAGE( "t<><74><EFBFBD> <0C><08><74><00> ‰<>X<EFBFBD><58><EFBFBD> <4A> p<>i<EFBFBD>!", CDnItemCompounder::E_NOT_MATCH_PLATE_WITH_ITEM_COMPOUND == Output.eErrorCode &&
CDnItemCompounder::R_ERROR == Output.eResultCode );
// <EFBFBD><EFBFBD>\<EFBFBD> p<EFBFBD>i<EFBFBD>, 9<EFBFBD>@<EFBFBD> <EFBFBD><EFBFBD>(ӈ<EFBFBD>D<EFBFBD> L<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><<EFBFBD> D<EFBFBD>t<EFBFBD>\<EFBFBD> ¸<EFBFBD>
SettingInfo.iCompoundTableID = 1;
SettingInfo.aiItemCount[ 0 ] = 1;
m_pItemCompounder->EmblemCompound( 620000001, SettingInfo, &Output );
CPPUNIT_ASSERT_MESSAGE( "<15><><EFBFBD><01><<3C>\<EFBFBD> p<>i<EFBFBD> <18><><EFBFBD>L<EFBFBD>!", CDnItemCompounder::E_NONE == Output.eErrorCode &&
CDnItemCompounder::R_SUCCESS == Output.eResultCode &&
//Output.fTimeRequired == 3.0f &&
Output.iCost == 0 &&
Output.vlItemID.front() == 600000001 &&
Output.vlItemCount.front() == -1 ); // <EFBFBD>Ƙ<EFBFBD><EFBFBD><EFBFBD> -1 <EFBFBD><EFBFBD>$<EFBFBD>t<EFBFBD> H<EFBFBD>(<EFBFBD>. <EFBFBD><EFBFBD><EFBFBD>@<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> p<EFBFBD>t<EFBFBD>0<EFBFBD>
// U<EFBFBD>`<EFBFBD> ȩ<EFBFBD> <EFBFBD>ŀ<EFBFBD> ¸<EFBFBD>
// 8<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>%<EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD> ¸<EFBFBD>
// 8<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>%<EFBFBD> p<EFBFBD>i<EFBFBD> ¸<EFBFBD>
//// ¸<EFBFBD>!
//multiset<int> setJewels;
//setJewels.insert( 1 );
//setJewels.insert( 2 );
//setJewels.insert( 3 );
//setJewels.insert( 4 );
//setJewels.insert( 5 );
//setJewels.insert( 5 );
//setJewels.insert( 7 );
//setJewels.insert( 8 );
//setJewels.insert( 9 );
//setJewels.insert( 10 );
//int iCost = 0;
//int iResultItemID = m_pEmblemFactory->Compound( 200002, setJewels, &iCost );
//CPPUNIT_ASSERT_MESSAGE( "8<><38><EFBFBD> <00><>%<25> p<>i<EFBFBD> ¸<D1A4> <00><>(<28>!", iResultItemID == 100 );
//CPPUNIT_ASSERT_MESSAGE( "8<><38><EFBFBD> <00><>%<25> p<>i<EFBFBD> D<><44><EFBFBD>t<EFBFBD> <00>ǻ<EFBFBD><1C> <12><><EFBFBD>!", iCost == 500 );
//setJewels.clear();
//setJewels.insert( 2 );
//setJewels.insert( 2 );
//setJewels.insert( 2 );
//iCost = 0;
//iResultItemID = m_pEmblemFactory->Compound( 200003, setJewels, &iCost );
//CPPUNIT_ASSERT_MESSAGE( "8<><38><EFBFBD> <00><>%<25> p<>i<EFBFBD> ¸<D1A4> <00><><EFBFBD><EFBFBD><12> $<24>X<EFBFBD>, p<>i<EFBFBD> <00><>(<28>t<EFBFBD>|<7C> h<>.", iResultItemID == 0 );
////int iNumUse = 0;
////iResultItemID = m_pEmblemFactory->UpgradeJewel( 200000, 14, &iCost, &iNumUse );
////CPPUNIT_ASSERT_MESSAGE( "<00><>%<25> <00><><EFBFBD><EFBFBD><08>t<EFBFBD>ܴ ¸<D1A4> <00><>(<28>!", iResultItemID == 200001 );
////CPPUNIT_ASSERT_MESSAGE( "<00><>%<25> <00><><EFBFBD><EFBFBD><08>t<EFBFBD>ܴ p<>i<EFBFBD> D<><44><EFBFBD>t<EFBFBD> <00>ǻ<EFBFBD><1C> <12><><EFBFBD>!", iCost == 30 );
////CPPUNIT_ASSERT_MESSAGE( "<00><>%<25> <00><><EFBFBD><EFBFBD><08>t<EFBFBD>ܴ<EFBFBD><DCB4> <00><><EFBFBD><EFBFBD> /<2F><18><00> <00>ǻ<EFBFBD><1C> <12><><EFBFBD>!", iNumUse == 10 );
}
// D<EFBFBD>t<EFBFBD>\<EFBFBD> <EFBFBD><EFBFBD>t<EFBFBD> ¸<EFBFBD>
void CTest_Emblem::test_item_decomposition( void )
{
//m_pItemCompounder->Decompose( );
}