public async void LoadCode(CodeLanguage selectedLanguage) { _viewModel.IsCodeLoading = true; _viewModel.ClearCode(); var mutant = _currentMutant; if (mutant != null) { MutationResult mutationResult = await _mutantsCache.GetMutatedModulesAsync(mutant); CodeWithDifference diff = await _codeVisualizer.CreateDifferenceListing(selectedLanguage, mutant, mutationResult); if (diff != null) { _viewModel.PresentCode(diff); _viewModel.IsCodeLoading = false; } } }
public async Task <XElement> CreateCodeDifferenceListings(List <Mutant> mutants, ProgressCounter progress, CancellationToken token) { var list = new List <XElement>(); foreach (var mutant in mutants) { progressAction(progress, token); var mutresult = await _mutantsCache.GetMutatedModulesAsync(mutant); var diff = await _codeVisualizer.CreateDifferenceListing(CodeLanguage.CSharp, mutant, mutresult); var el = new XElement("MutantCodeListing", new XAttribute("MutantId", mutant.Id), new XElement("Code", Environment.NewLine + diff.Code)); list.Add(el); } return(new XElement("CodeDifferenceListings", list)); }