private async Task <TestResultViewModel> TestCard(FileViewModel cardFile, FileViewModel hostConfigFile) { var renderResult = await RenderCard(cardFile, hostConfigFile); var result = await TestResultViewModel.CreateAsync( cardFile : cardFile, hostConfigFile : hostConfigFile, actualError : renderResult.Item1, actualImageFile : renderResult.Item2, expectedFolder : _expectedFolder, sourceHostConfigsFolder : _sourceHostConfigsFolder, sourceCardsFolder : _sourceCardsFolder); OnSingleTestCompleted?.Invoke(this, result.Status); return(result); }
private async Task <TestResultViewModel> TestCard(FileViewModel cardFile, FileViewModel hostConfigFile) { Dictionary <string, IAdaptiveCardResourceResolver> resourceResolvers = new Dictionary <string, IAdaptiveCardResourceResolver>(); resourceResolvers.Add("symbol", new SampleResourceResolver()); var renderResult = await RenderCard(cardFile, hostConfigFile, resourceResolvers); var result = await TestResultViewModel.CreateAsync( cardFile : cardFile, hostConfigFile : hostConfigFile, renderedTestResult : renderResult.Item1, actualImageFile : renderResult.Item2, actualJsonFile : renderResult.Item3, expectedFolder : _expectedFolder, sourceHostConfigsFolder : _sourceHostConfigsFolder, sourceCardsFolder : _sourceCardsFolder); OnSingleTestCompleted?.Invoke(this, result.Status); return(result); }
private async Task <TestResultViewModel> TestCard(FileViewModel cardFile, FileViewModel hostConfigFile) { Dictionary <string, IAdaptiveCardResourceResolver> resourceResolvers = new Dictionary <string, IAdaptiveCardResourceResolver>(); resourceResolvers.Add("symbol", new SampleResourceResolver()); uint reruns = 0; TestResultViewModel result = null; bool retryImage = true; while (retryImage) { var renderResult = await RenderCard(cardFile, hostConfigFile, resourceResolvers); result = await TestResultViewModel.CreateAsync( cardFile : cardFile, hostConfigFile : hostConfigFile, renderedTestResult : renderResult.Item1, actualImageFile : renderResult.Item2, actualJsonFile : renderResult.Item3, expectedFolder : _expectedFolder, sourceHostConfigsFolder : _sourceHostConfigsFolder, sourceCardsFolder : _sourceCardsFolder); if (!result.Status.IsPassingStatus()) { // Retry if we failed on image matching for an unchanged card to allow for // occasional differences in image rendering retryImage = result.Status.OriginalMatched && !result.Status.ImageMatched && (reruns < 3); reruns++; } else { retryImage = false; } } OnSingleTestCompleted?.Invoke(this, result.Status); return(result); }