public void TestGetChangelogBy_WithoutMilestone()
        {
            IMarkdownParser markdownParser = new MarkdownParser();

            MilestoneObject milestoneObject = new MilestoneObject(null, new PullRequest[]
            {
            });
            Dictionary <string, IList <string> > entries = new Dictionary <string, IList <string> >
            {
                {
                    "added", new[]
                    {
                        "first added entry",
                        "second added entry",
                    }
                },
            };
            VersionEntry versionEntry = new VersionEntry(milestoneObject, entries);

            string result = markdownParser.GetChangelogBy(versionEntry);

            string expected = "## UNKNOWN VERSION\n\n### added\n\n* first added entry\n* second added entry";

            AreEqual(expected, result);
        }
        public void TestGetChangelogBy_VersionEntryWithEmptyEntry()
        {
            IMarkdownParser markdownParser = new MarkdownParser();

            Milestone milestone = new MilestoneBuilder
            {
                Title    = "v1.2.3",
                ClosedAt = DateTimeOffset.ParseExact("01.11.1993", "dd.MM.yyyy",
                                                     CultureInfo.InvariantCulture),
            }.Build();
            MilestoneObject milestoneObject = new MilestoneObject(milestone, new PullRequest[]
            {
            });
            Dictionary <string, IList <string> > entries = new Dictionary <string, IList <string> >
            {
                {
                    "added", new string[0]
                },
                {
                    "changed", new[]
                    {
                        "first changed entry",
                        "second changed entry",
                    }
                },
            };
            VersionEntry versionEntry = new VersionEntry(milestoneObject, entries);

            string result = markdownParser.GetChangelogBy(versionEntry);

            string expected = "## v1.2.3 (1993-11-01)\n\n### changed\n\n* first changed entry\n* second changed entry";

            AreEqual(expected, result);
        }
        public void TestGetChangelogBy_WithoutClosedMilestone()
        {
            IMarkdownParser markdownParser = new MarkdownParser();

            Milestone milestone = new MilestoneBuilder
            {
                Title = "v1.2.3",
            }.Build();
            MilestoneObject milestoneObject = new MilestoneObject(milestone, new PullRequest[]
            {
            });
            Dictionary <string, IList <string> > entries = new Dictionary <string, IList <string> >
            {
                {
                    "added", new[]
                    {
                        "first added entry",
                        "second added entry",
                    }
                },
            };
            VersionEntry versionEntry = new VersionEntry(milestoneObject, entries);

            string result = markdownParser.GetChangelogBy(versionEntry);

            string expected = "## v1.2.3 (OPEN)\n\n### added\n\n* first added entry\n* second added entry";

            AreEqual(expected, result);
        }
        public void TestGetChangelogBy_VersionWithoutEntries()
        {
            IMarkdownParser markdownParser = new MarkdownParser();

            Milestone milestone = new MilestoneBuilder
            {
                Title    = "v1.2.3",
                ClosedAt = DateTimeOffset.ParseExact("01.11.1993", "dd.MM.yyyy",
                                                     CultureInfo.InvariantCulture),
            }.Build();
            MilestoneObject milestoneObject = new MilestoneObject(milestone, new PullRequest[]
            {
            });
            Dictionary <string, IList <string> > entries = new Dictionary <string, IList <string> >();
            VersionEntry versionEntry = new VersionEntry(milestoneObject, entries);

            string result = markdownParser.GetChangelogBy(versionEntry);

            AreEqual(String.Empty, result);
        }