private void RunSingleBenchmark(IBenchmark benchmark) { Result result; ModelFactory.Populate(selectedModel, Strategies.CountOfOperation); switch (selectedModel) { case ModelDataType.Reddit: result = _benchmarkTests.TestSingle <RedditModel>(benchmark, Strategies.GetStrategy()); break; case ModelDataType.Tweeter: result = _benchmarkTests.TestSingle <TweeterModel>(benchmark, Strategies.GetStrategy()); break; case ModelDataType.Youtube: result = _benchmarkTests.TestSingle <YoutubeModel>(benchmark, Strategies.GetStrategy()); break; default: throw new ArgumentOutOfRangeException(); } ViewModel.Results.Add(result); ViewModel.AddPoints(result.Points, benchmark.ToString()); Chart.InvalidateVisual(); OXplot.InvalidateVisual(); }
public Result TestSingle <T>(IBenchmark benchmark, IScenarioStrategy strategy) where T : BaseModel { var delays = new List <long>(); var stopwatch = ExecuteTest <T>(benchmark, strategy, ref delays); return(new Result { Db = benchmark.ToString(), Time = stopwatch.ElapsedMilliseconds, Delays = delays }); }