public void Feature_branch_with_1_commit() { var branchingCommit = new MockCommit { CommitterEx = 1.Seconds().Ago().ToSignature(), }; var commitOneOnFeature = new MockCommit { CommitterEx = 1.Seconds().Ago().ToSignature(), }; var featureBranch = new MockBranch("featureWithNoCommits") { branchingCommit, commitOneOnFeature }; var finder = new FeatureVersionFinder { Repository = new MockRepository { Branches = new MockBranchCollection { new MockBranch("master") { new MockCommit { MessageEx = "Merge branch 'release-0.2.0'", CommitterEx = 3.Seconds().Ago().ToSignature() } }, featureBranch, new MockBranch("develop") { branchingCommit, new MockCommit { CommitterEx = 2.Seconds().Ago().ToSignature() } } } }, Commit = commitOneOnFeature, FeatureBranch = featureBranch, FindFirstCommitOnBranchFunc = () => branchingCommit.Id }; var version = finder.FindVersion(); Assert.AreEqual(0, version.Version.Major); Assert.AreEqual(3, version.Version.Minor, "Minor should be master.Minor+1"); Assert.AreEqual(0, version.Version.Patch); Assert.AreEqual(Stability.Unstable, version.Version.Stability); Assert.AreEqual(BranchType.Feature, version.BranchType); Assert.AreEqual(branchingCommit.Prefix(), version.Version.Suffix, "Suffix should be the develop commit it was branched from"); Assert.AreEqual(0, version.Version.PreReleasePartOne, "Prerelease is always 0 for feature branches"); }
public void Feature_branch_with_no_commit() { //this scenario should redirect to the develop finder since there is no diff btw this branch and the develop branch var branchingCommit = new MockCommit { CommitterEx = 1.Seconds().Ago().ToSignature(), }; var featureBranch = new MockBranch("featureWithNoCommits") { branchingCommit }; var finder = new FeatureVersionFinder { Repository = new MockRepository { Branches = new MockBranchCollection { new MockBranch("master") { new MockCommit { MessageEx = "Merge branch 'release-0.2.0'", CommitterEx = 3.Seconds().Ago().ToSignature() } }, featureBranch, new MockBranch("develop") { branchingCommit, new MockCommit { CommitterEx = 2.Seconds().Ago().ToSignature() } } } }, Commit = branchingCommit, FeatureBranch = featureBranch, FindFirstCommitOnBranchFunc = () => branchingCommit.Id }; var version = finder.FindVersion(); Assert.AreEqual(0, version.Version.Major); Assert.AreEqual(3, version.Version.Minor, "Minor should be master.Minor+1"); Assert.AreEqual(0, version.Version.Patch); Assert.AreEqual(Stability.Unstable, version.Version.Stability); Assert.AreEqual(BranchType.Feature, version.BranchType); Assert.AreEqual(null, version.Version.Suffix); Assert.AreEqual(2, version.Version.PreReleasePartOne, "Should be the number of commits ahead of master"); }