public string BuildReply(RedditReplyBuilderParameters replyBuilderParameters) { ValidateParameters(replyBuilderParameters); return(string.Format( ReplyTemplate, _rotationDescriptionDeterminer.GenerateRotationDescriptionMessageArgArgument(replyBuilderParameters.RotationMessageArg), replyBuilderParameters.UploadedVideoUrl)); }
private static void ValidateParameters(RedditReplyBuilderParameters replyBuilderParameters) { if (string.IsNullOrEmpty(replyBuilderParameters.UploadedVideoUrl)) { throw new RedditReplyBuilderException("Uploaded video URL was either null or empty"); } if (string.IsNullOrEmpty(replyBuilderParameters.RotationMessageArg)) { throw new RedditReplyBuilderException("Rotation description was either null or empty"); } }
public void GivenValidUploadedVideoUrlAndInvalidRotationMessageArg_WhenRedditReplyIsBuilt_ThenRedditReplyBuilderExceptionIsThrown(string invalidRotationMessageArg) { // Arrange var replyBuilderParameters = new RedditReplyBuilderParameters { UploadedVideoUrl = UploadedVideoUrl, RotationMessageArg = invalidRotationMessageArg }; // Act + Assert Invoking(() => _redditReplyBuilder.BuildReply(replyBuilderParameters)) .Should().Throw <RedditReplyBuilderException>(); }
public void GivenUploadedVideoUrlAndRotationMessageArg_WhenRedditReplyIsBuilt_ThenRedditReplyIsReturnedSuccessfully() { // Arrange var replyBuilderParameters = new RedditReplyBuilderParameters { UploadedVideoUrl = UploadedVideoUrl, RotationMessageArg = RotationMessageArg }; // Act var reply = _redditReplyBuilder.BuildReply(replyBuilderParameters); // Assert Assert.Equal(CompletedReply, reply); }