public void ReplyTest(
            [Values(null, "TestPostID")] string postID)
        {
            Post post;

            if (postID != null)
            {
                post    = new Post();
                post.ID = postID;
            }
            else
            {
                post = null;
            }

            var originalPostCommentID = "TestPostCommentID";

            var originalPostComment = new PostComment();

            originalPostComment.Post  = post;
            originalPostComment.ID    = originalPostCommentID;
            originalPostComment.Title = "Original title";
            originalPostComment.Body  = "Original body";


            var postCommentID = Guid.Empty.ToString();

            var postComment = new PostComment();

            postComment.ID = postCommentID;

            _postCommentRepositoryMock.Expect(r => r.Get(originalPostCommentID)).Return(originalPostComment);
            if (postID != null)
            {
                _postRepositoryMock.Expect(r => r.Get(postID)).Return(post);
            }
            _postCommentRepositoryMock.Expect(r => r.Create()).Return(postComment);

            var result = TestedController.Reply(originalPostCommentID);


            VerifyViewResult(result, "Edit", typeof(EditPostCommentData));
            var resultModel = (EditPostCommentData)((ViewResult)result).ViewData.Model;

            Assert.That(resultModel.EditMode, Is.EqualTo(EditMode.Add));
            Assert.That(resultModel.PostComment.Post, Is.EqualTo(originalPostComment.Post));
            Assert.That(resultModel.PostComment.Title, Is.EqualTo("Re: Original title"));
            Assert.That(resultModel.PostComment.Body, Is.EqualTo(Utils.QuoteBody(originalPostComment.Body)));
        }