public void RunAll()
        {
            Result result;
            var    tests = new BenchmarkTests();

            for (var i = 1; i < 2; i++)
            {
                var benchmarkTests = _benchmarkFactory.GetAllBenchmarks(selectedModel);
                foreach (var benchmark in benchmarkTests)
                {
                    Strategies.CountOfOperation = i == 0 ? 100 : int.Parse(OperationTxb.Text);
                    ModelFactory.Populate(selectedModel, int.Parse(OperationTxb.Text));
                    switch (selectedModel)
                    {
                    case ModelDataType.Reddit:
                        result = tests.TestSingle <RedditModel>(benchmark, Strategies.GetStrategy());
                        break;

                    case ModelDataType.Tweeter:
                        result = tests.TestSingle <TweeterModel>(benchmark, Strategies.GetStrategy());
                        break;

                    case ModelDataType.Youtube:
                        result = tests.TestSingle <YoutubeModel>(benchmark, Strategies.GetStrategy());
                        break;

                    default:
                        throw new ArgumentOutOfRangeException();
                    }
                    ViewModel.Results.Add(result);
                    ViewModel.AddPoints(result.Points, benchmark.ToString());
                }
            }
        }
        public MainWindow()
        {
            InitializeComponent();

            WindowState = WindowState.Maximized;
            ViewModel   = new ViewModel();
            Strategies  = new StrategiesViewModel()
            {
                CountOfOperation = _countOfOperations
            };
            DataContext = ViewModel;
            StrategiesCmb.ItemsSource = Strategies.StrategyNames;
            ModelCmb.ItemsSource      = Enum.GetValues(typeof(ModelDataType)).Cast <ModelDataType>();
            _benchmarkTests           = new BenchmarkTests();
            OperationTxb.Text         = "1000";
        }