public void GetResult_Feature_Branch_Changes_Version_Resets_On_Merge() { // Arrange using var fixture = new SimpleVersionRepositoryFixture(_serializer); var config = fixture.GetConfig(); fixture.MakeACommit(); fixture.MakeACommit(); fixture.MakeACommit(); fixture.MakeACommit(); fixture.BranchTo("feature/other"); fixture.MakeACommit(); config.Version = "0.1.1"; fixture.SetConfig(config); fixture.MakeACommit(); fixture.MakeACommit(); fixture.Checkout("master"); fixture.MergeNoFF("feature/other"); var sut = new GitVersionRepository(fixture.RepositoryPath, _environment, _serializer, Enumerable.Empty <IVersionProcessor>()); // Act var result = sut.GetResult(); result.Height.Should().Be(1); }
public void GetResult_Modified_No_Version_Or_Label_Changes_Does_Not_Reset() { // Arrange using var fixture = new SimpleVersionRepositoryFixture(_serializer); fixture.MakeACommit(); fixture.MakeACommit(); fixture.MakeACommit(); fixture.MakeACommit(); var config = fixture.GetConfig(); config.Metadata.Add("example"); fixture.SetConfig(config); var sut = new GitVersionRepository(fixture.RepositoryPath, _environment, _serializer, Enumerable.Empty <IVersionProcessor>()); // Act var result = sut.GetResult(); // Assert result.Height.Should().Be(6); }
public void GetResult_Malformed_Json_Committed_Counts_As_No_Change() { // Arrange using var fixture = new SimpleVersionRepositoryFixture(_serializer); fixture.MakeACommit(); fixture.MakeACommit(); fixture.MakeACommit(); // Write the version file (with parsing errors) var file = Path.Combine(fixture.RepositoryPath, Constants.ConfigurationFileName); using (var writer = File.AppendText(file)) { writer.WriteLine("This will not parse"); writer.Flush(); } fixture.Repository.Index.Add(Constants.ConfigurationFileName); fixture.Repository.Index.Write(); fixture.MakeACommit(); // 5 fixture.MakeACommit(); // 6 fixture.MakeACommit(); // 7 fixture.MakeACommit(); // 8 var config = new RepositoryConfiguration { Version = "0.1.0" }; fixture.SetConfig(config); var sut = new GitVersionRepository(fixture.RepositoryPath, _environment, _serializer, Enumerable.Empty <IVersionProcessor>()); // Act var result = sut.GetResult(); result.Height.Should().Be(9); }