public async Task DetailsAsync_Tests(string forum, DisqusForumAttach attach, DisqusForumRelated related, string accessToken)
        {
            /* arrange */

            var request = DisqusForumDetailsRequest
                          .New(forum)
                          .Attach(attach)
                          .Related(related);

            /* act */

            DisqusResponse <DisqusForum> response;

            if (string.IsNullOrEmpty(accessToken))
            {
                response = await Disqus.Forums
                           .DetailsAsync(request)
                           .ConfigureAwait(false);
            }
            else
            {
                var disqusAccessToken = DisqusAccessToken.Create(accessToken);

                response = await Disqus.Forums
                           .DetailsAsync(disqusAccessToken, request)
                           .ConfigureAwait(false);
            }

            /* assert */

            Assert.That(response, Is.Not.Null);
            Assert.That(response.Code, Is.EqualTo(DisqusApiResponseCode.Success));

            Assert.That(response.Response.Author, related != DisqusForumRelated.None ? Is.Not.Null : Is.Null);
        }
        public DisqusForumCreateRequest Attach(DisqusForumAttach attach)
        {
            if (attach == DisqusForumAttach.None)
            {
                return(this);
            }

            Parameters.AddRange(attach.ToStringArray().Select(a => new KeyValuePair <string, string>("attach", a)));

            return(this);
        }