public void SupportCommitsWithMoreThanOneTag() { var commit1 = CreateCommit(); var commit2 = CreateCommit(); var commit3 = CreateCommit(); var startTagCommit = CreateCommit(); var firstCommit = CreateCommit(); SubstituteCommitLog(commit1, commit2, commit3, startTagCommit, firstCommit); _tags.Add(Tuple.Create(commit2, "1.1.0")); _tags.Add(Tuple.Create(commit2, "second_tag_for_commit2")); var results = ReleaseFinder.FindReleases(_repository, null, new ReleaseInfo()); }
public void DoesNotIncludeCommitsOlderThanTag() { var commit1 = CreateCommit(); var startTagCommit = CreateCommit(); var commit3 = CreateCommit(); SubstituteCommitLog(commit1, startTagCommit, commit3); var startTag = new TaggedCommit(startTagCommit, "1.0.0"); var results = ReleaseFinder.FindReleases(repository, startTag, new ReleaseInfo { PreviousReleaseDate = startTagCommit.Author.When }); var firstRelease = results.First(); firstRelease.PreviousReleaseDate.ShouldBe(startTagCommit.Author.When); }
public void GroupsTagsByReleases() { var commit1 = CreateCommit(); var commit2 = CreateCommit(); var commit3 = CreateCommit(); var startTagCommit = CreateCommit(); SubstituteCommitLog(commit1, commit2, commit3, startTagCommit); tags.Add(commit2, "1.1.0"); var startTag = new TaggedCommit(startTagCommit, "1.0.0"); var results = ReleaseFinder.FindReleases(repository, startTag, new ReleaseInfo()); results.Count.ShouldBe(2); results.ElementAt(0).Name.ShouldBe(null); results.ElementAt(0).PreviousReleaseDate.ShouldBe(commit2.Author.When); results.ElementAt(1).Name.ShouldBe("1.1.0"); results.ElementAt(1).PreviousReleaseDate.ShouldBe(null); }
public void GroupsTagsByReleasesIncludesEndDateOfRelease() { var commit1 = CreateCommit(); var commit2 = CreateCommit(); var commit3 = CreateCommit(); var startTagCommit = CreateCommit(); var firstCommit = CreateCommit(); SubstituteCommitLog(commit1, commit2, commit3, startTagCommit, firstCommit); _tags.Add(commit2, "1.1.0"); _tags.Add(startTagCommit, "1.0.0"); var results = ReleaseFinder.FindReleases(_repository, null, new ReleaseInfo()); Assert.Equal(3, results.Count); Assert.Equal(null, results.ElementAt(0).Name); Assert.Equal(null, results.ElementAt(0).When); Assert.Equal(commit2.Author.When, results.ElementAt(0).PreviousReleaseDate); Assert.Equal(commit2.Author.When, results.ElementAt(1).When); Assert.Equal(startTagCommit.Author.When, results.ElementAt(1).PreviousReleaseDate); Assert.Equal("1.0.0", results.ElementAt(2).Name); Assert.Equal(startTagCommit.Author.When, results.ElementAt(2).When); Assert.Equal(null, results.ElementAt(2).PreviousReleaseDate); }