anchor.diff:    gGameApp.StopGame(gr_Silent);
   end;
   
  +
  +{ TKMStabilityTest }
  +procedure TKMStabilityTest.SetUp;
  +begin
  +  inherited;
  +  // Do something before simulation
  +end;
  +
  +
  +procedure TKMStabilityTest.TearDown;
  +begin
  +  // Do something after simulation
  +  inherited;
  +end;
  +
  +
  +procedure TKMStabilityTest.Execute(aRun: Integer);
  +const
  +  MAPS_COUNT = 1;
  +var
  +  aIdx: Integer;
  +begin
  +  for aIdx := 0 to MAPS_COUNT - 1 do
  +  begin
  +	  gGameApp.NewSingleMap(ExtractFilePath(ParamStr(0)) + '..\..\MapsMP\Cursed Ravine\Cursed Ravine.dat', 'GA');
  +	  // Set Runner interface (only in case that you want to watch game in real time)
  +	  //gMySpectator.Hand.FogOfWar.RevealEverything;
  +	  //gGameApp.Game.GamePlayInterface.Viewport.PanTo(KMPointF(0, 60), 0);
  +	  //gGameApp.Game.GamePlayInterface.Viewport.Zoom := 0.25;
  +	  // Set seed
  +	  SetKaMSeed(aRun + 1);
  +	  // Save game before starts (save map and seed)
  +	  gGameApp.Game.Save('Stability Test ' + IntToStr(aRun) + ' map number ' + IntToStr(aIdx), Now);
  +	  SimulateGame;
  +	  // Save after is simulation done
  +	  //gGameApp.Game.Save('Stability Test #' + IntToStr(aRun) + '; map number: ' + IntToStr(aIdx), Now);
  +  end;
  +
  +  gGameApp.StopGame(gr_Silent);
  +end;
  +
  +
   initialization
     RegisterRunner(TKMRunnerGA_TestManager);
     RegisterRunner(TKMRunnerGA_HandLogistics);
  
positive.code:     procedure SetUp; override;
      procedure Execute(aRun: Integer); override;
      procedure TearDown; override;
    end;
  
  
  
negative.code:   RegisterRunner(TKMVortamicPF);
    RegisterRunner(TKMReplay);
    RegisterRunner(TKMVas01);
    RegisterRunner(TKMStabilityTest);
  end.
  