private static void AssertMergeMessage(string message, string expectedVersion, List <Commit> parents, Config config = null) { var commit = new MockCommit { MessageEx = message, ParentsEx = parents }; var context = new GitVersionContextBuilder() .WithConfig(config ?? new Config()) .WithRepository(new MockRepository { Head = new MockBranch("master") { commit, new MockCommit() } }) .Build(); var sut = new MergeMessageVersionStrategy(); var baseVersion = sut.GetVersions(context).SingleOrDefault(); if (expectedVersion == null) { baseVersion.ShouldBe(null); } else { baseVersion.ShouldNotBeNull(); baseVersion.SemanticVersion.ToString().ShouldBe(expectedVersion); } }
public void ShouldNotAllowIncrementOfVersion() { // When a branch is merged in you want to start building stable packages of that version // So we shouldn't bump the version var context = new GitVersionContextBuilder().WithRepository(new MockRepository { Head = new MockBranch("master") { new MockCommit { MessageEx = "Merge branch 'release-0.1.5'", ParentsEx = GetParents(true) } } }).Build(); var sut = new MergeMessageVersionStrategy(); var baseVersion = sut.GetVersions(context).Single(); baseVersion.ShouldIncrement.ShouldBe(false); }