public void Test_UserCustomSingleListRequest_Validate_Throws_Exceptions()
        {
            // username is null
            var request = new UserCustomSingleListRequest {
                Id = "123"
            };

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

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

            // empty username
            request = new UserCustomSingleListRequest {
                Username = string.Empty, Id = "123"
            };

            act = () => request.Validate();
            act.Should().Throw <ArgumentException>();

            // username with spaces
            request = new UserCustomSingleListRequest {
                Username = "******", Id = "123"
            };

            act = () => request.Validate();
            act.Should().Throw <ArgumentException>();

            // id is null
            request = new UserCustomSingleListRequest {
                Username = "******"
            };

            act = () => request.Validate();
            act.Should().Throw <ArgumentNullException>();

            // empty id
            request = new UserCustomSingleListRequest {
                Username = "******", Id = string.Empty
            };

            act = () => request.Validate();
            act.Should().Throw <ArgumentException>();

            // id with spaces
            request = new UserCustomSingleListRequest {
                Username = "******", Id = "invalid id"
            };

            act = () => request.Validate();
            act.Should().Throw <ArgumentException>();
        }
        public void Test_UserCustomSingleListRequest_Returns_Valid_UriPathParameters()
        {
            var request = new UserCustomSingleListRequest {
                Username = "******", Id = "123"
            };

            request.GetUriPathParameters().Should().NotBeNull()
            .And.HaveCount(2)
            .And.Contain(new Dictionary <string, object>
            {
                ["username"] = "******",
                ["id"]       = "123"
            });
        }
        public void Test_UserCustomSingleListRequest_Returns_Valid_RequestObjectType()
        {
            var requestMock = new UserCustomSingleListRequest();

            requestMock.RequestObjectType.Should().Be(RequestObjectType.Lists);
        }
        public void Test_UserCustomSingleListRequest_Has_Valid_UriTemplate()
        {
            var request = new UserCustomSingleListRequest();

            request.UriTemplate.Should().Be("users/{username}/lists/{id}");
        }
        public void Test_UserCustomSingleListRequest_Has_AuthorizationRequirement_Optional()
        {
            var request = new UserCustomSingleListRequest();

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