public void StampMarkdownWorksWithDefault() { var testMarkdown = new StampChangelogFileWithVersion(); using (var tempFiles = new TwoTempFilesForTest(Path.Combine(Path.GetTempPath(), "Test.md"), null)) { File.WriteAllLines(tempFiles.FirstFile, new[] { "## DEV_VERSION_NUMBER: DEV_RELEASE_DATE", "*with some random content", "*does some things" }); testMarkdown.ChangelogFile = tempFiles.FirstFile; testMarkdown.VersionNumber = "2.3.10"; Assert.That(testMarkdown.Execute(), Is.True); var newContents = File.ReadAllLines(tempFiles.FirstFile); Assert.That(newContents.Length == 3); Assert.That(newContents[0], Is.EqualTo($"## 2.3.10 {DateTime.Now:yyyy-MM-dd}")); } }
public void StampMarkdownDoesNothingWhenTold() { var testMarkdown = new StampChangelogFileWithVersion(); using (var tempFiles = new TwoTempFilesForTest(Path.Combine(Path.GetTempPath(), "Test.md"), null)) { var devVersionLine = "## DEV_VERSION_NUMBER: DEV_RELEASE_DATE"; File.WriteAllLines(tempFiles.FirstFile, new[] { devVersionLine, "*with some random content", "*does some things" }); testMarkdown.ChangelogFile = tempFiles.FirstFile; testMarkdown.VersionNumber = "2.3.10"; testMarkdown.StampChangelogFile = false; Assert.That(testMarkdown.Execute(), Is.True); var newContents = File.ReadAllLines(tempFiles.FirstFile); Assert.That(newContents.Length == 3); Assert.That(newContents[0], Is.EqualTo(devVersionLine)); } }
public void ProcessesKeepAChangelogFormat() { var testMarkdown = new StampChangelogFileWithVersion(); using (var tempFiles = new TwoTempFilesForTest(Path.Combine(Path.GetTempPath(), "CHANGELOG.md"), null)) { string changelogContent = @"# Change Log All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). <!-- Available types of changes: ### Added ### Changed ### Fixed ### Deprecated ### Removed ### Security --> ## [Unreleased] ### Changed - This to that. ## [1.2.3] - 2020-12-08 ### Added - New features. ### Fixed - All bugs. "; string expectedNewChangelogContent = @"# Change Log All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). <!-- Available types of changes: ### Added ### Changed ### Fixed ### Deprecated ### Removed ### Security --> ## [Unreleased] ## [2.3.10] - DATE_HERE ### Changed - This to that. ## [1.2.3] - 2020-12-08 ### Added - New features. ### Fixed - All bugs. "; expectedNewChangelogContent = expectedNewChangelogContent.Replace("DATE_HERE", DateTime.Today.ToString("yyyy-MM-dd")); File.WriteAllText(tempFiles.FirstFile, changelogContent); testMarkdown.ChangelogFile = tempFiles.FirstFile; testMarkdown.VersionNumber = "2.3.10"; // SUT Assert.That(testMarkdown.Execute(), Is.True); var newContents = File.ReadAllText(tempFiles.FirstFile); Assert.That(newContents, Is.EqualTo(expectedNewChangelogContent)); } }