/*
 * Bungie.Net API
 *
 * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.
 *
 * The version of the OpenAPI document: 2.18.0
 * Contact: support@bungie.com
 * Generated by: https://github.com/openapitools/openapi-generator.git
 */

using System;
using System.IO;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Reflection;
using RestSharp;
using Xunit;

using Destiny.Client;
using Destiny.Api;
// uncomment below to import models
//using Destiny.Model;

namespace Destiny.Test.Api
{
    /// <summary>
    ///  Class for testing ForumApi
    /// </summary>
    /// <remarks>
    /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech).
    /// Please update the test case below to test the API endpoint.
    /// </remarks>
    public class ForumApiTests : IDisposable
    {
        private ForumApi instance;

        public ForumApiTests()
        {
            instance = new ForumApi();
        }

        public void Dispose()
        {
            // Cleanup when everything is done.
        }

        /// <summary>
        /// Test an instance of ForumApi
        /// </summary>
        [Fact]
        public void InstanceTest()
        {
            // TODO uncomment below to test 'IsType' ForumApi
            //Assert.IsType<ForumApi>(instance);
        }

        /// <summary>
        /// Test ForumGetCoreTopicsPaged
        /// </summary>
        [Fact]
        public void ForumGetCoreTopicsPagedTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //int categoryFilter = null;
            //int page = null;
            //int quickDate = null;
            //int sort = null;
            //string? locales = null;
            //var response = instance.ForumGetCoreTopicsPaged(categoryFilter, page, quickDate, sort, locales);
            //Assert.IsType<ForumGetTopicsPaged200Response>(response);
        }

        /// <summary>
        /// Test ForumGetForumTagSuggestions
        /// </summary>
        [Fact]
        public void ForumGetForumTagSuggestionsTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //string? partialtag = null;
            //var response = instance.ForumGetForumTagSuggestions(partialtag);
            //Assert.IsType<ForumGetForumTagSuggestions200Response>(response);
        }

        /// <summary>
        /// Test ForumGetPoll
        /// </summary>
        [Fact]
        public void ForumGetPollTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //long topicId = null;
            //var response = instance.ForumGetPoll(topicId);
            //Assert.IsType<ForumGetTopicsPaged200Response>(response);
        }

        /// <summary>
        /// Test ForumGetPostAndParent
        /// </summary>
        [Fact]
        public void ForumGetPostAndParentTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //long childPostId = null;
            //string? showbanned = null;
            //var response = instance.ForumGetPostAndParent(childPostId, showbanned);
            //Assert.IsType<ForumGetTopicsPaged200Response>(response);
        }

        /// <summary>
        /// Test ForumGetPostAndParentAwaitingApproval
        /// </summary>
        [Fact]
        public void ForumGetPostAndParentAwaitingApprovalTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //long childPostId = null;
            //string? showbanned = null;
            //var response = instance.ForumGetPostAndParentAwaitingApproval(childPostId, showbanned);
            //Assert.IsType<ForumGetTopicsPaged200Response>(response);
        }

        /// <summary>
        /// Test ForumGetPostsThreadedPaged
        /// </summary>
        [Fact]
        public void ForumGetPostsThreadedPagedTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //bool getParentPost = null;
            //int page = null;
            //int pageSize = null;
            //long parentPostId = null;
            //int replySize = null;
            //bool rootThreadMode = null;
            //int sortMode = null;
            //string? showbanned = null;
            //var response = instance.ForumGetPostsThreadedPaged(getParentPost, page, pageSize, parentPostId, replySize, rootThreadMode, sortMode, showbanned);
            //Assert.IsType<ForumGetTopicsPaged200Response>(response);
        }

        /// <summary>
        /// Test ForumGetPostsThreadedPagedFromChild
        /// </summary>
        [Fact]
        public void ForumGetPostsThreadedPagedFromChildTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //long childPostId = null;
            //int page = null;
            //int pageSize = null;
            //int replySize = null;
            //bool rootThreadMode = null;
            //int sortMode = null;
            //string? showbanned = null;
            //var response = instance.ForumGetPostsThreadedPagedFromChild(childPostId, page, pageSize, replySize, rootThreadMode, sortMode, showbanned);
            //Assert.IsType<ForumGetTopicsPaged200Response>(response);
        }

        /// <summary>
        /// Test ForumGetRecruitmentThreadSummaries
        /// </summary>
        [Fact]
        public void ForumGetRecruitmentThreadSummariesTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //List<long> requestBody = null;
            //var response = instance.ForumGetRecruitmentThreadSummaries(requestBody);
            //Assert.IsType<ForumGetRecruitmentThreadSummaries200Response>(response);
        }

        /// <summary>
        /// Test ForumGetTopicForContent
        /// </summary>
        [Fact]
        public void ForumGetTopicForContentTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //long contentId = null;
            //var response = instance.ForumGetTopicForContent(contentId);
            //Assert.IsType<ForumGetTopicForContent200Response>(response);
        }

        /// <summary>
        /// Test ForumGetTopicsPaged
        /// </summary>
        [Fact]
        public void ForumGetTopicsPagedTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //int categoryFilter = null;
            //long group = null;
            //int page = null;
            //int pageSize = null;
            //int quickDate = null;
            //int sort = null;
            //string? locales = null;
            //string? tagstring = null;
            //var response = instance.ForumGetTopicsPaged(categoryFilter, group, page, pageSize, quickDate, sort, locales, tagstring);
            //Assert.IsType<ForumGetTopicsPaged200Response>(response);
        }
    }
}
