--- a/tests/test_hq_convoy_dispatch.py +++ b/tests/test_hq_convoy_dispatch.py @@ -9,7 +9,7 @@ def cpp(s): for old,new in [('protected ',''),('override ',''),('null','nullptr'),('Replication.','Replication::'), ('ERR_GameMode.','ERR_GameMode::'),('ERR_ConvoyRoadPlan.','ERR_ConvoyRoadPlan::'), - ('ERR_Settings.','ERR_Settings::'),('ERR_TimeService.','ERR_TimeService::'),('ERR_EnvironmentService.','ERR_EnvironmentService::'),('Math.','Math::'),('array','Array&')]:s=s.replace(old,new) + ('ERR_AdminMenuFields.','ERR_AdminMenuFields::'),('ERR_Settings.','ERR_Settings::'),('ERR_TimeService.','ERR_TimeService::'),('ERR_EnvironmentService.','ERR_EnvironmentService::'),('Math.','Math::'),('array','Array&')]:s=s.replace(old,new) for typ in ('ERR_GameMode','ERR_ConvoyReceipt','ERR_ConvoyTask','ERR_SiteRuntime','ERR_HQUnit','ERR_AdminProvider'): s=re.sub(r'\b'+typ+r' (?=\w)',typ+'* ',s) for var in ('m_SupplyConvoys','m_ConvoyStartup','m_Mode','m_Convoys','m_ConvoyPool','m_ConvoyTask','m_HQ','site','unit','receipt','mode','provider'): @@ -87,6 +87,8 @@ if(key=="automaticConvoyEnabled"){automatic=value;return true;} assert(key=="antiAirChancePercent");stinger=value;return true;} }; +// Settings listing is outside these convoy assertions (Keys is empty); its actual formatter is covered by test_start_settings. +struct ERR_AdminMenuFields{static string StartSummary(int,int){return "start summary";}}; // Date/time branches are unrelated to these commands and deliberately refuse. struct ERR_TimeService{static bool ParseClock(string,int&){return false;}}; struct ERR_EnvironmentService{static bool ParseDate(string,int&){return false;}static bool ParseProfile(string,int&){return false;}}; @@ -98,7 +100,7 @@ struct Sites sites;ERR_Settings settings;bool sitesReady=true; static ERR_GameMode* Get(){return current;}bool Active(){return active;}Ledger* Forces(){return &ledger;} struct Sites* Sites(){return sitesReady?&sites:nullptr;}ERR_Settings* Settings(){return settingsReady?&settings:nullptr;} - string Status(){return "mission";}bool AbandonRound(){return false;} + int StartMode(){return 0;}string Status(){return "mission";}bool AbandonRound(){return false;} }; struct Clock{float GetWorldTime(){return 123000;}Clock* GetWorld(){return this;}}clock_; Clock* GetGame(){return &clock_;}