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");
            }
        }
示例#3
0
        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>();
        }
示例#4
0
        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);
        }