/*
 * 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 Destiny2Api
    /// </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 Destiny2ApiTests : IDisposable
    {
        private Destiny2Api instance;

        public Destiny2ApiTests()
        {
            instance = new Destiny2Api();
        }

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

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

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

        /// <summary>
        /// Test Destiny2AwaInitializeRequest
        /// </summary>
        [Fact]
        public void Destiny2AwaInitializeRequestTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //DestinyAdvancedAwaPermissionRequested destinyAdvancedAwaPermissionRequested = null;
            //var response = instance.Destiny2AwaInitializeRequest(destinyAdvancedAwaPermissionRequested);
            //Assert.IsType<Destiny2AwaInitializeRequest200Response>(response);
        }

        /// <summary>
        /// Test Destiny2AwaProvideAuthorizationResult
        /// </summary>
        [Fact]
        public void Destiny2AwaProvideAuthorizationResultTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //DestinyAdvancedAwaUserResponse destinyAdvancedAwaUserResponse = null;
            //var response = instance.Destiny2AwaProvideAuthorizationResult(destinyAdvancedAwaUserResponse);
            //Assert.IsType<GroupV2EditGroup200Response>(response);
        }

        /// <summary>
        /// Test Destiny2ClearLoadout
        /// </summary>
        [Fact]
        public void Destiny2ClearLoadoutTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //DestinyRequestsActionsDestinyLoadoutActionRequest destinyRequestsActionsDestinyLoadoutActionRequest = null;
            //var response = instance.Destiny2ClearLoadout(destinyRequestsActionsDestinyLoadoutActionRequest);
            //Assert.IsType<GroupV2EditGroup200Response>(response);
        }

        /// <summary>
        /// Test Destiny2EquipItem
        /// </summary>
        [Fact]
        public void Destiny2EquipItemTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //DestinyRequestsActionsDestinyItemActionRequest destinyRequestsActionsDestinyItemActionRequest = null;
            //var response = instance.Destiny2EquipItem(destinyRequestsActionsDestinyItemActionRequest);
            //Assert.IsType<GroupV2EditGroup200Response>(response);
        }

        /// <summary>
        /// Test Destiny2EquipItems
        /// </summary>
        [Fact]
        public void Destiny2EquipItemsTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //DestinyRequestsActionsDestinyItemSetActionRequest destinyRequestsActionsDestinyItemSetActionRequest = null;
            //var response = instance.Destiny2EquipItems(destinyRequestsActionsDestinyItemSetActionRequest);
            //Assert.IsType<Destiny2EquipItems200Response>(response);
        }

        /// <summary>
        /// Test Destiny2EquipLoadout
        /// </summary>
        [Fact]
        public void Destiny2EquipLoadoutTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //DestinyRequestsActionsDestinyLoadoutActionRequest destinyRequestsActionsDestinyLoadoutActionRequest = null;
            //var response = instance.Destiny2EquipLoadout(destinyRequestsActionsDestinyLoadoutActionRequest);
            //Assert.IsType<GroupV2EditGroup200Response>(response);
        }

        /// <summary>
        /// Test Destiny2GetActivityHistory
        /// </summary>
        [Fact]
        public void Destiny2GetActivityHistoryTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //long characterId = null;
            //long destinyMembershipId = null;
            //int membershipType = null;
            //int? count = null;
            //int? mode = null;
            //int? page = null;
            //var response = instance.Destiny2GetActivityHistory(characterId, destinyMembershipId, membershipType, count, mode, page);
            //Assert.IsType<Destiny2GetActivityHistory200Response>(response);
        }

        /// <summary>
        /// Test Destiny2GetCharacter
        /// </summary>
        [Fact]
        public void Destiny2GetCharacterTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //long characterId = null;
            //long destinyMembershipId = null;
            //int membershipType = null;
            //List<int>? components = null;
            //var response = instance.Destiny2GetCharacter(characterId, destinyMembershipId, membershipType, components);
            //Assert.IsType<Destiny2GetCharacter200Response>(response);
        }

        /// <summary>
        /// Test Destiny2GetClanAggregateStats
        /// </summary>
        [Fact]
        public void Destiny2GetClanAggregateStatsTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //long groupId = null;
            //string? modes = null;
            //var response = instance.Destiny2GetClanAggregateStats(groupId, modes);
            //Assert.IsType<Destiny2GetClanAggregateStats200Response>(response);
        }

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

        /// <summary>
        /// Test Destiny2GetClanLeaderboards
        /// </summary>
        [Fact]
        public void Destiny2GetClanLeaderboardsTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //long groupId = null;
            //int? maxtop = null;
            //string? modes = null;
            //string? statid = null;
            //var response = instance.Destiny2GetClanLeaderboards(groupId, maxtop, modes, statid);
            //Assert.IsType<Destiny2GetClanLeaderboards200Response>(response);
        }

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

        /// <summary>
        /// Test Destiny2GetCollectibleNodeDetails
        /// </summary>
        [Fact]
        public void Destiny2GetCollectibleNodeDetailsTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //long characterId = null;
            //int collectiblePresentationNodeHash = null;
            //long destinyMembershipId = null;
            //int membershipType = null;
            //List<int>? components = null;
            //var response = instance.Destiny2GetCollectibleNodeDetails(characterId, collectiblePresentationNodeHash, destinyMembershipId, membershipType, components);
            //Assert.IsType<Destiny2GetCollectibleNodeDetails200Response>(response);
        }

        /// <summary>
        /// Test Destiny2GetDestinyAggregateActivityStats
        /// </summary>
        [Fact]
        public void Destiny2GetDestinyAggregateActivityStatsTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //long characterId = null;
            //long destinyMembershipId = null;
            //int membershipType = null;
            //var response = instance.Destiny2GetDestinyAggregateActivityStats(characterId, destinyMembershipId, membershipType);
            //Assert.IsType<Destiny2GetDestinyAggregateActivityStats200Response>(response);
        }

        /// <summary>
        /// Test Destiny2GetDestinyEntityDefinition
        /// </summary>
        [Fact]
        public void Destiny2GetDestinyEntityDefinitionTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //string entityType = null;
            //int hashIdentifier = null;
            //var response = instance.Destiny2GetDestinyEntityDefinition(entityType, hashIdentifier);
            //Assert.IsType<Destiny2GetDestinyEntityDefinition200Response>(response);
        }

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

        /// <summary>
        /// Test Destiny2GetHistoricalStats
        /// </summary>
        [Fact]
        public void Destiny2GetHistoricalStatsTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //long characterId = null;
            //long destinyMembershipId = null;
            //int membershipType = null;
            //DateTime? dayend = null;
            //DateTime? daystart = null;
            //List<int>? groups = null;
            //List<int>? modes = null;
            //int? periodType = null;
            //var response = instance.Destiny2GetHistoricalStats(characterId, destinyMembershipId, membershipType, dayend, daystart, groups, modes, periodType);
            //Assert.IsType<Destiny2GetHistoricalStats200Response>(response);
        }

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

        /// <summary>
        /// Test Destiny2GetHistoricalStatsForAccount
        /// </summary>
        [Fact]
        public void Destiny2GetHistoricalStatsForAccountTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //long destinyMembershipId = null;
            //int membershipType = null;
            //List<int>? groups = null;
            //var response = instance.Destiny2GetHistoricalStatsForAccount(destinyMembershipId, membershipType, groups);
            //Assert.IsType<Destiny2GetHistoricalStatsForAccount200Response>(response);
        }

        /// <summary>
        /// Test Destiny2GetItem
        /// </summary>
        [Fact]
        public void Destiny2GetItemTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //long destinyMembershipId = null;
            //long itemInstanceId = null;
            //int membershipType = null;
            //List<int>? components = null;
            //var response = instance.Destiny2GetItem(destinyMembershipId, itemInstanceId, membershipType, components);
            //Assert.IsType<Destiny2GetItem200Response>(response);
        }

        /// <summary>
        /// Test Destiny2GetLeaderboards
        /// </summary>
        [Fact]
        public void Destiny2GetLeaderboardsTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //long destinyMembershipId = null;
            //int membershipType = null;
            //int? maxtop = null;
            //string? modes = null;
            //string? statid = null;
            //var response = instance.Destiny2GetLeaderboards(destinyMembershipId, membershipType, maxtop, modes, statid);
            //Assert.IsType<Destiny2GetClanLeaderboards200Response>(response);
        }

        /// <summary>
        /// Test Destiny2GetLeaderboardsForCharacter
        /// </summary>
        [Fact]
        public void Destiny2GetLeaderboardsForCharacterTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //long characterId = null;
            //long destinyMembershipId = null;
            //int membershipType = null;
            //int? maxtop = null;
            //string? modes = null;
            //string? statid = null;
            //var response = instance.Destiny2GetLeaderboardsForCharacter(characterId, destinyMembershipId, membershipType, maxtop, modes, statid);
            //Assert.IsType<Destiny2GetClanLeaderboards200Response>(response);
        }

        /// <summary>
        /// Test Destiny2GetLinkedProfiles
        /// </summary>
        [Fact]
        public void Destiny2GetLinkedProfilesTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //long membershipId = null;
            //int membershipType = null;
            //bool? getAllMemberships = null;
            //var response = instance.Destiny2GetLinkedProfiles(membershipId, membershipType, getAllMemberships);
            //Assert.IsType<Destiny2GetLinkedProfiles200Response>(response);
        }

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

        /// <summary>
        /// Test Destiny2GetProfile
        /// </summary>
        [Fact]
        public void Destiny2GetProfileTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //long destinyMembershipId = null;
            //int membershipType = null;
            //List<int>? components = null;
            //var response = instance.Destiny2GetProfile(destinyMembershipId, membershipType, components);
            //Assert.IsType<Destiny2GetProfile200Response>(response);
        }

        /// <summary>
        /// Test Destiny2GetPublicMilestoneContent
        /// </summary>
        [Fact]
        public void Destiny2GetPublicMilestoneContentTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //int milestoneHash = null;
            //var response = instance.Destiny2GetPublicMilestoneContent(milestoneHash);
            //Assert.IsType<Destiny2GetPublicMilestoneContent200Response>(response);
        }

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

        /// <summary>
        /// Test Destiny2GetPublicVendors
        /// </summary>
        [Fact]
        public void Destiny2GetPublicVendorsTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //List<int>? components = null;
            //var response = instance.Destiny2GetPublicVendors(components);
            //Assert.IsType<Destiny2GetPublicVendors200Response>(response);
        }

        /// <summary>
        /// Test Destiny2GetUniqueWeaponHistory
        /// </summary>
        [Fact]
        public void Destiny2GetUniqueWeaponHistoryTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //long characterId = null;
            //long destinyMembershipId = null;
            //int membershipType = null;
            //var response = instance.Destiny2GetUniqueWeaponHistory(characterId, destinyMembershipId, membershipType);
            //Assert.IsType<Destiny2GetUniqueWeaponHistory200Response>(response);
        }

        /// <summary>
        /// Test Destiny2GetVendor
        /// </summary>
        [Fact]
        public void Destiny2GetVendorTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //long characterId = null;
            //long destinyMembershipId = null;
            //int membershipType = null;
            //int vendorHash = null;
            //List<int>? components = null;
            //var response = instance.Destiny2GetVendor(characterId, destinyMembershipId, membershipType, vendorHash, components);
            //Assert.IsType<Destiny2GetVendor200Response>(response);
        }

        /// <summary>
        /// Test Destiny2GetVendors
        /// </summary>
        [Fact]
        public void Destiny2GetVendorsTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //long characterId = null;
            //long destinyMembershipId = null;
            //int membershipType = null;
            //List<int>? components = null;
            //int? filter = null;
            //var response = instance.Destiny2GetVendors(characterId, destinyMembershipId, membershipType, components, filter);
            //Assert.IsType<Destiny2GetVendors200Response>(response);
        }

        /// <summary>
        /// Test Destiny2InsertSocketPlug
        /// </summary>
        [Fact]
        public void Destiny2InsertSocketPlugTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //DestinyRequestsActionsDestinyInsertPlugsActionRequest destinyRequestsActionsDestinyInsertPlugsActionRequest = null;
            //var response = instance.Destiny2InsertSocketPlug(destinyRequestsActionsDestinyInsertPlugsActionRequest);
            //Assert.IsType<Destiny2InsertSocketPlug200Response>(response);
        }

        /// <summary>
        /// Test Destiny2InsertSocketPlugFree
        /// </summary>
        [Fact]
        public void Destiny2InsertSocketPlugFreeTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //DestinyRequestsActionsDestinyInsertPlugsFreeActionRequest destinyRequestsActionsDestinyInsertPlugsFreeActionRequest = null;
            //var response = instance.Destiny2InsertSocketPlugFree(destinyRequestsActionsDestinyInsertPlugsFreeActionRequest);
            //Assert.IsType<Destiny2InsertSocketPlug200Response>(response);
        }

        /// <summary>
        /// Test Destiny2PullFromPostmaster
        /// </summary>
        [Fact]
        public void Destiny2PullFromPostmasterTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //DestinyRequestsActionsDestinyPostmasterTransferRequest destinyRequestsActionsDestinyPostmasterTransferRequest = null;
            //var response = instance.Destiny2PullFromPostmaster(destinyRequestsActionsDestinyPostmasterTransferRequest);
            //Assert.IsType<GroupV2EditGroup200Response>(response);
        }

        /// <summary>
        /// Test Destiny2ReportOffensivePostGameCarnageReportPlayer
        /// </summary>
        [Fact]
        public void Destiny2ReportOffensivePostGameCarnageReportPlayerTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //long activityId = null;
            //DestinyReportingRequestsDestinyReportOffensePgcrRequest destinyReportingRequestsDestinyReportOffensePgcrRequest = null;
            //var response = instance.Destiny2ReportOffensivePostGameCarnageReportPlayer(activityId, destinyReportingRequestsDestinyReportOffensePgcrRequest);
            //Assert.IsType<GroupV2EditGroup200Response>(response);
        }

        /// <summary>
        /// Test Destiny2SearchDestinyEntities
        /// </summary>
        [Fact]
        public void Destiny2SearchDestinyEntitiesTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //string searchTerm = null;
            //string type = null;
            //int? page = null;
            //var response = instance.Destiny2SearchDestinyEntities(searchTerm, type, page);
            //Assert.IsType<Destiny2SearchDestinyEntities200Response>(response);
        }

        /// <summary>
        /// Test Destiny2SearchDestinyPlayerByBungieName
        /// </summary>
        [Fact]
        public void Destiny2SearchDestinyPlayerByBungieNameTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //int membershipType = null;
            //UserExactSearchRequest userExactSearchRequest = null;
            //var response = instance.Destiny2SearchDestinyPlayerByBungieName(membershipType, userExactSearchRequest);
            //Assert.IsType<Destiny2SearchDestinyPlayerByBungieName200Response>(response);
        }

        /// <summary>
        /// Test Destiny2SetItemLockState
        /// </summary>
        [Fact]
        public void Destiny2SetItemLockStateTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //DestinyRequestsActionsDestinyItemStateRequest destinyRequestsActionsDestinyItemStateRequest = null;
            //var response = instance.Destiny2SetItemLockState(destinyRequestsActionsDestinyItemStateRequest);
            //Assert.IsType<GroupV2EditGroup200Response>(response);
        }

        /// <summary>
        /// Test Destiny2SetQuestTrackedState
        /// </summary>
        [Fact]
        public void Destiny2SetQuestTrackedStateTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //DestinyRequestsActionsDestinyItemStateRequest destinyRequestsActionsDestinyItemStateRequest = null;
            //var response = instance.Destiny2SetQuestTrackedState(destinyRequestsActionsDestinyItemStateRequest);
            //Assert.IsType<GroupV2EditGroup200Response>(response);
        }

        /// <summary>
        /// Test Destiny2SnapshotLoadout
        /// </summary>
        [Fact]
        public void Destiny2SnapshotLoadoutTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //DestinyRequestsActionsDestinyLoadoutUpdateActionRequest destinyRequestsActionsDestinyLoadoutUpdateActionRequest = null;
            //var response = instance.Destiny2SnapshotLoadout(destinyRequestsActionsDestinyLoadoutUpdateActionRequest);
            //Assert.IsType<GroupV2EditGroup200Response>(response);
        }

        /// <summary>
        /// Test Destiny2TransferItem
        /// </summary>
        [Fact]
        public void Destiny2TransferItemTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //DestinyRequestsDestinyItemTransferRequest destinyRequestsDestinyItemTransferRequest = null;
            //var response = instance.Destiny2TransferItem(destinyRequestsDestinyItemTransferRequest);
            //Assert.IsType<GroupV2EditGroup200Response>(response);
        }

        /// <summary>
        /// Test Destiny2UpdateLoadoutIdentifiers
        /// </summary>
        [Fact]
        public void Destiny2UpdateLoadoutIdentifiersTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //DestinyRequestsActionsDestinyLoadoutUpdateActionRequest destinyRequestsActionsDestinyLoadoutUpdateActionRequest = null;
            //var response = instance.Destiny2UpdateLoadoutIdentifiers(destinyRequestsActionsDestinyLoadoutUpdateActionRequest);
            //Assert.IsType<GroupV2EditGroup200Response>(response);
        }
    }
}
