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 'hotfix-0.1.5'",
                    ParentsEx = GetParents(true)
                } }
            }).Build();
            var sut = new MergeMessageBaseVersionStrategy();

            var baseVersion = sut.GetVersions(context).Single();

            baseVersion.ShouldIncrement.ShouldBe(false);
        }
        static void AssertMergeMessage(string message, string expectedVersion, List<Commit> parents)
        {
            var commit = new MockCommit
            {
                MessageEx = message,
                ParentsEx = parents
            };

            var context = new GitVersionContextBuilder()
                .WithRepository(new MockRepository
                {
                    Head = new MockBranch("master")
                    {
                        commit,
                        new MockCommit()
                    }
                })
                .Build();
            var sut = new MergeMessageBaseVersionStrategy();

            var baseVersion = sut.GetVersions(context).SingleOrDefault();

            if (expectedVersion == null)
            {
                baseVersion.ShouldBe(null);
            }
            else
            {
                baseVersion.SemanticVersion.ToString().ShouldBe(expectedVersion);
            }
        }