mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2025-12-30 01:38:01 +01:00
More benchmarks
This commit is contained in:
@@ -157,6 +157,7 @@ public class ScenarioTests : TestsAllViews
|
||||
int clearedContentCount = 0;
|
||||
int refreshedCount = 0;
|
||||
int updatedCount = 0;
|
||||
int drawCompleteCount = 0;
|
||||
|
||||
_output.WriteLine ($"Running Scenario '{scenarioType}'");
|
||||
var scenario = (Scenario)Activator.CreateInstance (scenarioType);
|
||||
@@ -178,6 +179,8 @@ public class ScenarioTests : TestsAllViews
|
||||
_output.WriteLine ($" called Driver.ClearContents {clearedContentCount} times.");
|
||||
_output.WriteLine ($" called Driver.Refresh {refreshedCount} times.");
|
||||
_output.WriteLine ($" which updated the screen {updatedCount} times.");
|
||||
_output.WriteLine ($" called Application.Top.Draw {drawCompleteCount} times.");
|
||||
// _output.WriteLine ($" called View.Draw {drawCompleteCount} times.");
|
||||
|
||||
// Restore the configuration locations
|
||||
ConfigurationManager.Locations = savedConfigLocations;
|
||||
@@ -200,11 +203,13 @@ public class ScenarioTests : TestsAllViews
|
||||
updatedCount++;
|
||||
}
|
||||
};
|
||||
Application.NotifyNewRunState += OnApplicationNotifyNewRunState;
|
||||
|
||||
stopwatch = Stopwatch.StartNew ();
|
||||
}
|
||||
else
|
||||
{
|
||||
Application.NotifyNewRunState -= OnApplicationNotifyNewRunState;
|
||||
Application.Iteration -= OnApplicationOnIteration;
|
||||
stopwatch!.Stop ();
|
||||
}
|
||||
@@ -214,16 +219,22 @@ public class ScenarioTests : TestsAllViews
|
||||
void OnApplicationOnIteration (object s, IterationEventArgs a)
|
||||
{
|
||||
iterationCount++;
|
||||
if (iterationCount > 5000)
|
||||
if (iterationCount > 1000)
|
||||
{
|
||||
// Press QuitKey
|
||||
_output.WriteLine ($"Attempting to quit with {Application.QuitKey}");
|
||||
Application.RaiseKeyDownEvent (Application.QuitKey);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void OnApplicationNotifyNewRunState (object sender, RunStateEventArgs e)
|
||||
{
|
||||
Application.Top.DrawComplete += (sender, args) => drawCompleteCount++;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static IEnumerable<object []> AllScenarioTypes =>
|
||||
typeof (Scenario).Assembly
|
||||
.GetTypes ()
|
||||
|
||||
Reference in New Issue
Block a user