public TestSessionContext Load(RunnerConfiguration configuration) { var testSessionContext = new TestSessionContext(); var assemblyConfigurations = configuration.Assemblies.Where(x => x.Platform != "x86").ToList(); ProgressChanged(0, assemblyConfigurations.Count); for (int i = 0; i < assemblyConfigurations.Count; i++) { var assemblyConfiguration = assemblyConfigurations[i]; var assemblyTestCases = Load(assemblyConfiguration); testSessionContext.AddTestCases(assemblyTestCases); ProgressChanged(i + 1, assemblyConfigurations.Count); } return testSessionContext; }
public async Task InitializeTestList() { if (string.IsNullOrWhiteSpace(ConfigFilePath)) { return; } foreach (var testGroupViewModel in TestGroups) { testGroupViewModel.PropertyChanged -= OnGroupViewModelPropertyChanged; } TestGroups.Clear(); if (_testSessionContext != null) await _testSessionContext.DisposeAsync(); _testSessionContext = await _testSessionContextLoader.Load(ConfigFilePath); var testCaseGroup = _testSessionContext.TestCases.GroupBy(x => x.AssemblyName); foreach (var group in testCaseGroup) { var testCases = group.OrderBy(x => x.TestClassName).ThenBy(x => x.Name); var groupViewModel = new TestGroupViewModel(group.Key, testCases, this); TestGroups.Add(groupViewModel); groupViewModel.PropertyChanged += OnGroupViewModelPropertyChanged; } var testCategories = _testSessionContext.TestCases .SelectMany(x => x.Categories) .Distinct() .Select(x => new TestCategoryViewModel(x)); TestCategories.ResetTo(testCategories); FirePropertyChanged(nameof(HasTestCategories)); }