/* This code should mirror code in drop_item_on_ground */ static void test_drop( unsigned short chrx, unsigned short chry, short chrz, unsigned short dropx, unsigned short dropy, short dropz, bool exp_result, short exp_z ) { if (p_test_realm == NULL) p_test_realm = new Realm("britannia"); cout << "POL DropHeight(" << chrx << "," << chry << "," << chrz << "," << dropx << "," << dropy << "," << dropz << "): " << "Expect " << exp_result << "," << exp_z << ": "; short newz; UMulti* multi; bool result = p_test_realm->dropheight( dropx,dropy,dropz, chrz, &newz, &multi ); cout << "Got " << result << "," << newz << ": "; if (exp_result != result) { cout << "Failure!" << endl; inc_failures(); return; } if (result) { if (newz != exp_z) { cout << "Failure!" << endl; inc_failures(); return; } } inc_successes(); cout << "Ok!" << endl; }
void skilladv_test() { INFO_PRINT << "Skill advancement tests:\n"; test_skilladv( 20, 1 ); test_skilladv( 512, 25 ); test_skilladv( 1024, 50 ); test_skilladv( 2048, 100 ); test_skilladv( 3072, 150 ); test_skilladv( 4096, 200 ); test_skilladv( 5120, 225 ); test_skilladv( 6144, 250 ); test_skilladv( 7168, 275 ); test_skilladv( 8192, 300 ); test_skilladv( 16384, 400 ); test_skilladv( 32768, 500 ); test_skilladv( 65536, 600 ); test_skilladv( 131072, 700 ); test_skilladv( 262144, 800 ); test_skilladv( 524288, 900 ); test_skilladv( 1048576, 1000 ); test_skilladv( 2097152, 1100 ); test_skilladv( 4194304, 1200 ); test_skilladv( 8388608, 1300 ); test_skilladv( 16777216, 1400 ); test_skilladv( 33554432, 1500 ); test_skilladv( 67108864, 1600 ); test_skilladv( 134217728, 1700 ); test_skilladv( 268435456, 1800 ); test_skilladv( 536870912, 1900 ); for ( unsigned short base = 0; base < 2000; ++base ) { INFO_PRINT << "Base " << base << ": Raw="; unsigned int raw = Core::base_to_raw( base ); INFO_PRINT << raw << ": "; unsigned short calcbase = Core::raw_to_base( raw ); if ( calcbase != base ) { INFO_PRINT << "Failed (" << calcbase << ")\n"; inc_failures(); } else { INFO_PRINT << "Passed\n"; inc_successes(); } } for ( unsigned int raw = 0; raw < 2500; ++raw ) { INFO_PRINT << "Raw " << raw << ": Base="; unsigned short base = Core::raw_to_base( raw ); INFO_PRINT << base << ": "; unsigned int calcraw = Core::base_to_raw( base ); if ( calcraw != raw ) { INFO_PRINT << "Failed (" << calcraw << ")\n"; inc_failures(); } else { INFO_PRINT << "Passed\n"; inc_successes(); } } }