static IssueGroup CreateSecondaryGroup() { var issueGroup = new IssueGroup(null, "secondary group"); issueGroup.EnableProcessing(); return(issueGroup); }
public void Write([NotNull] IssueGroup issueGroup, [NotNull] IRowBuffer rowBuffer) { Assert.ArgumentNotNull(issueGroup, nameof(issueGroup)); Assert.ArgumentNotNull(rowBuffer, nameof(rowBuffer)); IssueCode issueCode = issueGroup.IssueCode; WriteText(rowBuffer, _issueDescriptionFieldIndex, issueGroup.IssueDescription); WriteText(rowBuffer, _issueCodeFieldIndex, issueCode?.ID); WriteText(rowBuffer, _issueCodeDescriptionFieldIndex, issueCode?.Description); WriteText(rowBuffer, _qualityConditionFieldIndex, issueGroup.QualityCondition.Name); WriteText(rowBuffer, _qualityConditionDescriptionFieldIndex, issueGroup.QualityCondition.Description, warnIfTooLong: false); WriteText(rowBuffer, _testTypeFieldIndex, GetTestTypeName(issueGroup.QualityCondition)); WriteText(rowBuffer, _testNameFieldIndex, GetTestName(issueGroup.QualityCondition)); WriteText(rowBuffer, _testDescriptionFieldIndex, GetTestDescription(issueGroup.QualityCondition)); WriteText(rowBuffer, _issueTypeFieldIndex, GetIssueTypeValue(issueGroup)); WriteText(rowBuffer, _stopConditionFieldIndex, issueGroup.StopCondition ? "Yes" : "No"); WriteText(rowBuffer, _categoriesFieldIndex, GetCategoryValue(issueGroup.QualityCondition)); WriteText(rowBuffer, _affectedComponentFieldIndex, issueGroup.AffectedComponent); WriteText(rowBuffer, _urlFieldIndex, GetUrl(issueGroup.QualityCondition)); rowBuffer.set_Value(_issueCountFieldIndex, issueGroup.IssueCount); }
public void DoesNotInteractIfGroupingDisabled() { var disabledGroup = new IssueGroup(nextProvider, "disabled group"); disabledGroup.AddIssue(new IssueSummary()); Assert.IsFalse(nextProvider.GetIssueGroupCalled, "The provider should not be called by a disabled group."); }
public void SetUp() { nextProvider = new MockGroupingProvider(); sourceProvider = new MockGroupingProvider(); group = new IssueGroup(nextProvider, "sut"); node = group; group.EnableProcessing(); }
private static IEnumerable <HtmlExceptionCategoryCount> GetHtmlExceptionCategories( [NotNull] IIssueStatistics issueStatistics, [NotNull] IssueGroup issueGroup) { return(issueStatistics.ExceptionCategories.Select( category => new HtmlExceptionCategoryCount( category, issueGroup.GetExceptionCount(category)))); }
public void DoesNotCallChildAddedEventHandlersIfNotEnabled() { var disabledGroup = new IssueGroup(null, "disabledNode"); IIssueTreeNode disabledNode = disabledGroup; nextProvider.Group = CreateSecondaryGroup(); disabledNode.ChildAdded += Forbidden <IssueTreeNodeEventArgs> ("node.ChildAdded"); disabledGroup.AddIssue(new IssueSummary()); }
private static string GetTestIdentifier([NotNull] IssueGroup issueGroup) { QualityCondition qualityCondition = issueGroup.QualityCondition; return(qualityCondition.TestDescriptor.Name); //return qualityCondition.Description != null && // StringUtils.IsNotEmpty(qualityCondition.Description) // ? qualityCondition.Description // : qualityCondition.TestDescriptor.Name; }
public void CallsTextChangedEventHandlersWhenIssueIsAddedToNonProcessingGroup() { var inactiveGroup = new IssueGroup(nextProvider, "sut"); bool textChangedHandlerCalled = false; ((IIssueTreeNode)inactiveGroup).TextChanged += delegate { textChangedHandlerCalled = true; }; inactiveGroup.AddIssue(new IssueSummary()); Assert.IsTrue(textChangedHandlerCalled, "The event handler was not called."); }
public void LeavesFilteredCorrectly() { var leafGroup = new IssueGroup(NullGroupingProvider.Instance, "sut"); IIssueTreeNode leafNode = leafGroup; var issue = new IssueSummary(); leafGroup.AddIssue(issue); var children = leafNode.Children; Assert.That(children.Contains(issue)); Assert.AreEqual(1, children.Count, "The group contained too many issues."); }
public void PassesIssueSummaryToNewGroupDuringEnableProcessing() { var disabledGroup = new IssueGroup(nextProvider, "sut"); // "prime" the tree of groups nextProvider.Group = CreateSecondaryGroup(); var probe = new IssueSummary(); disabledGroup.AddIssue(probe); disabledGroup.EnableProcessing(); var issues = ((IIssueTreeNode)nextProvider.Group).Children; Assert.IsTrue(issues.Contains(probe), "The issue was not added to the new group."); }
public void NoEventsCalledForIssuesAddedBeforeProcessingEnabled() { var localGroup = new IssueGroup(null, "sut"); IIssueTreeNode localNode = localGroup; localNode.ChildAdded += Forbidden <IssueTreeNodeEventArgs> ("node.ChildAdded"); var issue = new IssueSummary(); localGroup.AddIssue(issue); var children = localNode.Children; Assert.That(children.Contains(issue)); Assert.AreEqual(1, children.Count, "The number of children was incorrect."); }
public HtmlReportIssueGroup( [NotNull] IssueGroup issueGroup, int maximumIssueCount, [NotNull] string testIdentifier, [NotNull] IEnumerable <HtmlExceptionCategoryCount> htmlExceptionCategoryCounts) { Assert.ArgumentNotNull(issueGroup, nameof(issueGroup)); Assert.ArgumentNotNullOrEmpty(testIdentifier, nameof(testIdentifier)); Assert.ArgumentNotNull(htmlExceptionCategoryCounts, nameof(htmlExceptionCategoryCounts)); Assert.ArgumentCondition(issueGroup.IssueCount <= maximumIssueCount, "Issue count must be <= maximum issue count", nameof(issueGroup)); _issueGroup = issueGroup; PercentageOfMaximumIssueCount = maximumIssueCount == 0 ? 0 // zero-width bar will be drawn : issueGroup.IssueCount * 100 / maximumIssueCount; ExceptionCategories = htmlExceptionCategoryCounts.ToList(); ExceptionCount = issueGroup.ExceptionCount; string url = issueGroup.QualityCondition.Url; if (url != null && StringUtils.IsNotEmpty(url)) { UrlText = url; UrlLink = HtmlReportUtils.GetCompleteUrl(url); } if (issueGroup.IssueCode != null) { IssueCode = issueGroup.IssueCode.ID; IssueCodeDescription = issueGroup.IssueCode.Description; HasIssueCode = true; } string issueDescription = issueGroup.IssueDescription; HasIssueDescription = StringUtils.IsNotEmpty(issueDescription); Description = HasIssueDescription ? issueGroup.IssueDescription : IssueCodeDescription; TestIdentifier = testIdentifier; }
public static CrawledIssueGroupKey Get(IssueGroup group) { return(group switch { IssueGroup.Org => Org, IssueGroup.Repo => Repo, IssueGroup.Author => Author, IssueGroup.Assignee => Assignee, IssueGroup.Label => Label, IssueGroup.Milestone => Milestone, IssueGroup.Area => Area, IssueGroup.AreaNode => AreaNode, IssueGroup.AreaUnder => AreaUnder, IssueGroup.AreaLead => AreaLead, IssueGroup.AreaOwner => AreaOwner, _ => throw new Exception($"Unexpected group {group}"), });
internal static void WriteIssue(string fromEntity, string toEntity, ReportStatisticsStatisicsDetails.MigrationStatus status, ReportIssueType type, string id, string item, IssueGroup group, string msg) { Debug.Assert(ConverterMain.MigrationReport != null); // also add in per work item section only if it is work item issue if (group == IssueGroup.Wi) { ConverterMain.MigrationReport.Statistics.StatisicsDetails.AddToEntityStatistics(fromEntity, toEntity, status); } // add the error in migration report if (type != ReportIssueType.Info) { ConverterMain.MigrationReport.WriteIssue(id, msg, item, null, group.ToString(), type, null); } }
public IssueGroup GetIssueGroup(IssueGroup parent, IssueSummary issue) { GetIssueGroupCalled = true; return(Group); }
public CrawledIssueGroupKey(IssueGroup group, Func <CrawledIssue, IEnumerable <string> > grouper) { Group = group; _multiGrouper = grouper; }
public CrawledIssueGroupKey(IssueGroup group, Func <CrawledIssue, string> grouper) { Group = group; _singleGrouper = grouper; }
private static string GetIssueTypeValue([NotNull] IssueGroup issueGroup) { return(issueGroup.Allowable ? "Warning" : "Error"); }