public void Given_status_is_not_null_When_WithStatus_is_called_Then_Status_should_be_set()
        {
            // Arrange.
            IClock          clock   = ConstantClockStub.Create(0);
            BlogPostBuilder builder = BlogPostBuilder.Create(clock);
            BlogPostStatus  status  = BlogPostStatus.Published;

            // Act.
            builder = builder.WithStatus(status);

            // Assert.
            builder.Status.Should().Be(status);
        }
        public void Given_stauts_is_null_When_WithStatus_is_called_Then_an_ArgumentNullException_should_be_thrown()
        {
            // Arrange.
            IClock          clock   = ConstantClockStub.Create(0);
            BlogPostBuilder builder = BlogPostBuilder.Create(clock);
            BlogPostStatus  status  = null;

            // Act.
            Action testCode = () => builder.WithStatus(status);

            // Assert.
            testCode.Should()
            .Throw <ArgumentNullException>()
            .WithMessage("*cannot be null*status*");
        }