#include "StdAfx.h" #include "Test_Emblem.h" #include "../../../../GameCommon/DnItemCompounder.h" #include "SundriesFunc.h" #include 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 ÃʱâÈ­ ½ÇÆÐ. Å×ÀÌºí µ¥ÀÌÅÍ ¿À·ù", true == bResult ); } CTest_Emblem::~CTest_Emblem(void) { SAFE_DELETE( m_pItemCompounder ); } void CTest_Emblem::test_composition_Jewel_Plate( void ) { // ¾ÆÀÌÅÛ Á¶ÇÕ Å×½ºÆ® 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; // ÇÊ¿ä ¾ÆÀÌÅÛ ½½·Ô¿¡ ¼ÂÆÃ ¾ÈµÈ °Å Å×½ºÆ® SettingInfo.aiItemID[ 0 ] = 0; m_pItemCompounder->ValidateEmblemCompound( 1, SettingInfo, &Output ); CPPUNIT_ASSERT_MESSAGE( "½½·Ô Çϳª°¡ ºñ¾îÀÖ´Â »óÅÂ!", CDnItemCompounder::E_NOT_ENOUGH_ITEM == Output.eErrorCode && CDnItemCompounder::R_ERROR == Output.eResultCode ); // ½½·Ô¿¡ ¸ÂÁö ¾Ê´Â ¾ÆÀÌÅÛÀÎ °Å Å×½ºÆ® SettingInfo.aiItemID[ 0 ] = 2; m_pItemCompounder->ValidateEmblemCompound( 1, SettingInfo, &Output ); CPPUNIT_ASSERT_MESSAGE( "½½·Ô¿¡ ¸ÂÁö ¾Ê´Â ¾ÆÀÌÅÛ ¼ÂÆÃ »óÅÂ!", CDnItemCompounder::E_NOT_MATCH_SLOT == Output.eErrorCode && CDnItemCompounder::R_ERROR == Output.eResultCode ); // ÇÊ¿ä ¾ÆÀÌÅÛ °¹¼ö ¸ðÀÚ¶õ °Å Å×½ºÆ® SettingInfo.aiItemID[ 0 ] = 521010001; SettingInfo.aiItemCount[ 0 ] = 0; m_pItemCompounder->ValidateEmblemCompound( 1, SettingInfo, &Output ); CPPUNIT_ASSERT_MESSAGE( "ÇÊ¿ä ¾ÆÀÌÅÛ °¹¼ö ¸ðÀÚ¶õ »óÅÂ!", CDnItemCompounder::E_NOT_ENOUGH_ITEM_COUNT == Output.eErrorCode && CDnItemCompounder::R_ERROR == Output.eResultCode ); // ÇÊ¿äÀÚ±Ý ¼ÂÆÃµÈ °ÍÀÌ ÇöÀç 0ÀÓ //// µ· ºÎÁ·ÇÑ °Å Å×½ºÆ®. //SettingInfo.aiItemID[ 0 ] = 521010001; //SettingInfo.aiItemCount[ 0 ] = 1; //SettingInfo.iHasMoney = 50; //m_pItemCompounder->ValidateEmblemCompound( 1, SettingInfo, &Output ); //CPPUNIT_ASSERT_MESSAGE( "µ·ÀÌ ºÎÁ·ÇÑ »óÅÂ!", CDnItemCompounder::E_NOT_ENOUGH_MONEY == Output.eErrorCode && // CDnItemCompounder::R_ERROR == Output.eResultCode ); // ÇØ´ç Ç÷¹ÀÌÆ®°¡ ¼öÇàÇÏÁö ¾Ê´Â ¾ÆÀÌÅÛ Á¶ÇÕ SettingInfo.iCompoundTableID = 10; SettingInfo.iHasMoney = 100; m_pItemCompounder->ValidateEmblemCompound( 620000001, SettingInfo, &Output ); CPPUNIT_ASSERT_MESSAGE( "ÇØ´ç Ç÷¹ÀÌÆ®°¡ ¼öÇàÇÏÁö ¾Ê´Â Á¶ÇÕ!", CDnItemCompounder::E_NOT_MATCH_PLATE_WITH_ITEM_COMPOUND == Output.eErrorCode && CDnItemCompounder::R_ERROR == Output.eResultCode ); // Á¦´ë·Î Á¶ÇÕ, ȤÀº ½ÇÆÐÇßÀ» ¶§ °á°ú¹° ¾ÆÀÌÅÛ Å×½ºÆ® SettingInfo.iCompoundTableID = 1; SettingInfo.aiItemCount[ 0 ] = 1; m_pItemCompounder->EmblemCompound( 620000001, SettingInfo, &Output ); CPPUNIT_ASSERT_MESSAGE( "Á¤»óÀûÀ¸·Î Á¶ÇÕ µÇ¾úÀ½!", 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 ); // ¿ø·¡´Â -1 ³ª¿À¸é ¾ÈµÊ. Áö±ÝÀº Àӽà µ¥ÀÌÅÍ // È®·ü Àû¿ë ¿©ºÎ Å×½ºÆ® // ¹®Àå º¸¿Á Á¤º¸ Á¶È¸ Å×½ºÆ® // ¹®Àå º¸¿Á Á¶ÇÕ Å×½ºÆ® //// Å×½ºÆ®! //multiset 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( "¹®Àå º¸¿Á Á¶ÇÕ Å×½ºÆ® ½ÇÆÐ!", iResultItemID == 100 ); //CPPUNIT_ASSERT_MESSAGE( "¹®Àå º¸¿Á Á¶ÇÕ ºñ¿ëÀÌ À߸øµÈ °ªÀÓ!", 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( "¹®Àå º¸¿Á Á¶ÇÕ Å×½ºÆ® °á°ú°ª ¿À·ù, Á¶ÇÕ ½ÇÆÐÇØ¾ß ÇÔ.", iResultItemID == 0 ); ////int iNumUse = 0; ////iResultItemID = m_pEmblemFactory->UpgradeJewel( 200000, 14, &iCost, &iNumUse ); ////CPPUNIT_ASSERT_MESSAGE( "º¸¿Á ¾÷±×·¹À̵å Å×½ºÆ® ½ÇÆÐ!", iResultItemID == 200001 ); ////CPPUNIT_ASSERT_MESSAGE( "º¸¿Á ¾÷±×·¹À̵å Á¶ÇÕ ºñ¿ëÀÌ À߸øµÈ °ªÀÓ!", iCost == 30 ); ////CPPUNIT_ASSERT_MESSAGE( "º¸¿Á ¾÷±×·¹À̵å½Ã »ç¿ë °¹¼ö°¡ À߸øµÈ °ªÀÓ!", iNumUse == 10 ); } // ¾ÆÀÌÅÛ ºÐÇØ Å×½ºÆ® void CTest_Emblem::test_item_decomposition( void ) { //m_pItemCompounder->Decompose( ); }