Quintiq file version 2.0 
 | 
#parent: #root 
 | 
StaticMethod Strategy (POAAlgorithm poa, Duration duration, Boolean should_error,  
 | 
  String algorithm_store_key) as POAAlgorithm 
 | 
{ 
 | 
  Description: 'The mock strategy used to test the POA suboptimizer' 
 | 
  TextBody: 
 | 
  [* 
 | 
    LibOpt_SuboptimizerPOA::StrategyStart( poa ); 
 | 
     
 | 
    // Store a counter of the amount of times the strategy is called 
 | 
    algorithm := AlgorithmStore::Retrieve( algorithm_store_key ); 
 | 
     
 | 
    count := guard( algorithm.RetrieveReal( LibOpt_MyPOASuboptimizer::GetExecuteStrategyCounterName() ), 0 ); 
 | 
    algorithm.StoreReal( LibOpt_MyPOASuboptimizer::GetExecuteStrategyCounterName(), count + 1 ); 
 | 
     
 | 
    AlgorithmStore::Store( algorithm_store_key, & algorithm ); 
 | 
     
 | 
     
 | 
    OS::Sleep( ceil( duration.MinutesAsReal() * 60 * 1000 ) ); 
 | 
    strategy := poa.Strategy(); 
 | 
     
 | 
    strategy.NewActions( 'actions' ); 
 | 
     
 | 
    if( should_error ) 
 | 
    { 
 | 
      error( 'Expected error at strategy' ); 
 | 
    } 
 | 
    LibOpt_SuboptimizerPOA::StrategyFinish( poa ); 
 | 
     
 | 
    return poa; 
 | 
  *] 
 | 
  InterfaceProperties { Accessibility: 'Module' } 
 | 
} 
 |