2016-12-14 17:05:34 +01:00
|
|
|
/** @file
|
|
|
|
|
*
|
|
|
|
|
* I doubt the usefullness..
|
|
|
|
|
* raw_to_base looses information
|
|
|
|
|
* @par History
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#include "testenv.h"
|
|
|
|
|
|
|
|
|
|
#include "../../clib/logfacility.h"
|
|
|
|
|
#include "../skilladv.h"
|
|
|
|
|
|
|
|
|
|
namespace Pol
|
|
|
|
|
{
|
|
|
|
|
namespace Testing
|
|
|
|
|
{
|
|
|
|
|
namespace
|
|
|
|
|
{
|
|
|
|
|
void test_skilladv( unsigned int raw, unsigned short base )
|
|
|
|
|
{
|
2024-01-10 18:29:10 +01:00
|
|
|
INFO_PRINT("Raw {}, base {}: ",raw,base);
|
2016-12-14 17:05:34 +01:00
|
|
|
if ( Core::raw_to_base( raw ) != base )
|
|
|
|
|
{
|
2024-01-10 18:29:10 +01:00
|
|
|
INFO_PRINTLN("raw_to_base failed!");
|
2021-08-23 07:58:42 +02:00
|
|
|
UnitTest::inc_failures();
|
2016-12-14 17:05:34 +01:00
|
|
|
}
|
|
|
|
|
if ( Core::base_to_raw( base ) != raw )
|
|
|
|
|
{
|
2024-01-10 18:29:10 +01:00
|
|
|
INFO_PRINTLN("base_to_raw failed!");
|
2021-08-23 07:58:42 +02:00
|
|
|
UnitTest::inc_failures();
|
2016-12-14 17:05:34 +01:00
|
|
|
}
|
2024-01-10 18:29:10 +01:00
|
|
|
INFO_PRINTLN("Passed");
|
2021-08-23 07:58:42 +02:00
|
|
|
UnitTest::inc_successes();
|
2016-12-14 17:05:34 +01:00
|
|
|
}
|
2018-01-29 21:55:48 +01:00
|
|
|
} // namespace
|
2016-12-14 17:05:34 +01:00
|
|
|
|
|
|
|
|
void skilladv_test()
|
|
|
|
|
{
|
2024-01-10 18:29:10 +01:00
|
|
|
INFO_PRINTLN("Skill advancement tests:");
|
2016-12-14 17:05:34 +01:00
|
|
|
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 )
|
|
|
|
|
{
|
2024-01-10 18:29:10 +01:00
|
|
|
INFO_PRINT("Base {}: Raw=",base);
|
2016-12-14 17:05:34 +01:00
|
|
|
unsigned int raw = Core::base_to_raw( base );
|
2024-01-10 18:29:10 +01:00
|
|
|
INFO_PRINT("{}: ",raw);
|
2016-12-14 17:05:34 +01:00
|
|
|
unsigned short calcbase = Core::raw_to_base( raw );
|
|
|
|
|
if ( calcbase != base )
|
|
|
|
|
{
|
2024-01-10 18:29:10 +01:00
|
|
|
INFO_PRINTLN("Failed ({})",calcbase);
|
2021-08-23 07:58:42 +02:00
|
|
|
UnitTest::inc_failures();
|
2016-12-14 17:05:34 +01:00
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
2024-01-10 18:29:10 +01:00
|
|
|
INFO_PRINTLN("Passed");
|
2021-08-23 07:58:42 +02:00
|
|
|
UnitTest::inc_successes();
|
2016-12-14 17:05:34 +01:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for ( unsigned int raw = 0; raw < 2500; ++raw )
|
|
|
|
|
{
|
2024-01-10 18:29:10 +01:00
|
|
|
INFO_PRINT("Raw {}: Base=",raw);
|
2016-12-14 17:05:34 +01:00
|
|
|
unsigned short base = Core::raw_to_base( raw );
|
2024-01-10 18:29:10 +01:00
|
|
|
INFO_PRINT("{}: ",base);
|
2016-12-14 17:05:34 +01:00
|
|
|
unsigned int calcraw = Core::base_to_raw( base );
|
|
|
|
|
if ( calcraw != raw )
|
|
|
|
|
{
|
2024-01-10 18:29:10 +01:00
|
|
|
INFO_PRINTLN("Failed ({})",calcraw);
|
2021-08-23 07:58:42 +02:00
|
|
|
UnitTest::inc_failures();
|
2016-12-14 17:05:34 +01:00
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
2024-01-10 18:29:10 +01:00
|
|
|
INFO_PRINTLN("Passed");
|
2021-08-23 07:58:42 +02:00
|
|
|
UnitTest::inc_successes();
|
2016-12-14 17:05:34 +01:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2018-01-29 21:55:48 +01:00
|
|
|
} // namespace Testing
|
|
|
|
|
} // namespace Pol
|