public void Test_SearchTextQueryRequest_Validate_Throws_ArgumentException()
        {
            // result types is unspecified
            var request = new SearchTextQueryRequest {
                Query = "query", ResultTypes = TraktSearchResultType.Unspecified
            };

            Action act = () => request.Validate();

            act.Should().Throw <ArgumentException>();
        }
        public void Test_SearchTextQueryRequest_Validate_Throws_ArgumentNullException()
        {
            // no result types set
            var request = new SearchTextQueryRequest {
                Query = "query"
            };

            Action act = () => request.Validate();

            act.Should().Throw <ArgumentNullException>();

            // no query set
            request = new SearchTextQueryRequest {
                ResultTypes = TraktSearchResultType.Episode
            };

            act = () => request.Validate();
            act.Should().Throw <ArgumentNullException>();
        }
        public void Test_SearchTextQueryRequest_Has_Valid_UriTemplate()
        {
            var request = new SearchTextQueryRequest();

            request.UriTemplate.Should().Be("search/{type}{?query,fields,years,genres,languages,countries,runtimes,ratings,extended,page,limit}");
        }
        public void Test_SearchTextQueryRequest_Has_AuthorizationRequirement_NotRequired()
        {
            var request = new SearchTextQueryRequest();

            request.AuthorizationRequirement.Should().Be(AuthorizationRequirement.NotRequired);
        }