public ParseResults(ParsingConfidence confidence, string link, int id) { Confidence = confidence; Link = link; ID = id; BugzillaSummary = ""; TargetMilestone = ""; Status = ""; Importance = ""; }
public ParsedCommit(CommitInfo commit, string link, int id, ParsingConfidence confidence, string bugzillaSummary, string targetMilestone, string status, string importance) { Commit = commit; Link = link; ID = id; Confidence = confidence; BugzillaSummary = bugzillaSummary; TargetMilestone = targetMilestone; Status = status; Importance = importance; }
void TestConfidenceOfCommit(string hash, string expectedUrl, ParsingConfidence expectedConfidence, Option <SearchOptions> options) { var commit = CommitFinder.ParseSingle(TestDataLocator.GetPath(), hash); Assert.IsTrue(commit.HasValue); commit.MatchSome(c => { var parsedCommits = CommitParser.ParseSingle(c, options.ValueOr(new SearchOptions() { Bugzilla = BugzillaLevel.Private })); Assert.AreEqual(1, parsedCommits.Count(), $"{hash} did not parse into one bug commit"); var parsedCommit = parsedCommits.First(); Assert.AreEqual(expectedUrl, parsedCommit.Link, $"{hash} link {parsedCommit.Link} did not match expected {expectedUrl}"); Assert.AreEqual(expectedConfidence, parsedCommit.Confidence, $"{hash} confidence {parsedCommit.Confidence} did not match expected {expectedConfidence}"); }); }
void TestConfidenceOfCommit(string hash, string expectedUrl, ParsingConfidence expectedConfidence) => TestConfidenceOfCommit(hash, expectedUrl, expectedConfidence, Option.None <SearchOptions> ());
static ParseResults ParseLine(string line, SearchOptions options) { try { Explain.Indent(); foreach (Regex regex in AllRegex) { var match = regex.Match(line); if (match.Success) { int id; if (int.TryParse(match.Groups[match.Groups.Count - 1].Value, out id)) { Explain.Print($"Line \"{StripNewLine (line)}\" matched pattern {regex}."); if (id < 1000 || id > 250000) { Explain.Print($"Had an invalid id {id}."); return(new ParseResults { Confidence = ParsingConfidence.Invalid }); } Explain.Print($"Had a valid id {id}."); ParsingConfidence confidence = ParsingConfidence.High; if (line.StartsWith("Context", StringComparison.InvariantCultureIgnoreCase)) { confidence = ParsingConfidence.Invalid; } Explain.Print($"Default Confidence was {confidence}."); if (options.Bugzilla != BugzillaLevel.Disable) { var bugzillaSummary = GetTitle(id, options); if (bugzillaSummary == null) { confidence = ParsingConfidence.Low; Explain.Print($"Given low confidence due to lack of a matching bugzilla bug."); return(new ParseResults(confidence, match.Value, id)); } var status = GetStatus(id, options); var milestone = GetMilestone(id, options); var importance = GetImportance(id, options); return(new ParseResults(confidence, match.Value, id) { BugzillaSummary = bugzillaSummary, Status = status, TargetMilestone = milestone, Importance = importance }); } return(new ParseResults(confidence, match.Value, id)); } } } return(new ParseResults { Confidence = ParsingConfidence.Invalid }); } finally { Explain.Deindent(); } }