public void ParsesDateTimesAndIsDraftNull(string mockPost, string publishedDate, string updatedDate)
        {
            FrontMatter frontMatter       = FrontMatterManager.GetFrontMatter(mockPost);
            DateTime    pbDate            = frontMatter.Published.Value;
            DateTime    upDate            = frontMatter.Updated.Value;
            DateTime    publishedDateTime = FrontMatterManager.FromISODateString(publishedDate);
            DateTime    updatedDateTime   = FrontMatterManager.FromISODateString(updatedDate);

            Assert.Equal(publishedDateTime.Ticks, pbDate.Ticks);
            Assert.Equal(updatedDateTime.Ticks, upDate.Ticks);
            Assert.False(frontMatter.IsDraft);
        }
        public void ParsesTitleSlugAndDraftFlag()
        {
            string      mockPost    = @"---
title: Docker Installation Notes
slug: docker-installation-notes
author: oreo
draft: true
date_created: 2018-10-13T16:08:55+00:00
---
<my-component>Some-data</my-component>
";
            FrontMatter frontMatter = FrontMatterManager.GetFrontMatter(mockPost);

            Assert.Equal("Docker Installation Notes", frontMatter.Title);
            Assert.Equal("docker-installation-notes", frontMatter.Slug);
            Assert.Null(frontMatter.Published);
            Assert.Null(frontMatter.Updated);
            Assert.True(frontMatter.IsDraft);
        }
        public void ParsesThumbnail()
        {
            string      mockPost    = @"---
title: Docker Installation Notes
slug: docker-installation-notes
author: oreo
draft: true
date_created: 2018-10-13T16:08:55+00:00
thumbnail:
    id: my own image
    file: some/relative/path
    type: svg
---
<my-component>Some-data</my-component>
";
            FrontMatter frontMatter = FrontMatterManager.GetFrontMatter(mockPost);

            Assert.Equal("my own image", frontMatter.Thumbnail.Id);
            Assert.Equal("some/relative/path", frontMatter.Thumbnail.File);
            Assert.Equal("svg", frontMatter.Thumbnail.Type);
        }
 public void CheckDateTimeParsingThrows(string mockPost)
 {
     Exception ex = Assert.Throws <FrontMatterFormatException>(() => FrontMatterManager.GetFrontMatter(mockPost));
 }
        public void WillExplodeIfFieldIsRequired(string mockPost, string message)
        {
            Exception ex = Assert.Throws <FrontMatterMissingFieldsException>(() => FrontMatterManager.GetFrontMatter(mockPost));

            Assert.Equal(message, ex.Message);
        }
        public void WillExplodeIfFrontMatterHasNoStartOrEnd(string mockPost, string message)
        {
            Exception ex = Assert.Throws <FrontMatterFormatException>(() => FrontMatterManager.GetFrontMatter(mockPost));

            Assert.Equal(message, ex.Message);
        }