/*
 * Echo Server API
 *
 * Echo Server API
 *
 * The version of the OpenAPI document: 0.1.0
 * Contact: team@openapitools.org
 * 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 Org.OpenAPITools.Client;
using Org.OpenAPITools.Api;
// uncomment below to import models
//using Org.OpenAPITools.Model;

namespace Org.OpenAPITools.Test.Api
{
    /// <summary>
    ///  Class for testing QueryApi
    /// </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 QueryApiTests : IDisposable
    {
        private QueryApi instance;

        public QueryApiTests()
        {
            instance = new QueryApi();
        }

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

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

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

        /// <summary>
        /// Test TestQueryDatetimeDateString
        /// </summary>
        [Fact]
        public void TestQueryDatetimeDateStringTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //DateTime? datetimeQuery = null;
            //DateTime? dateQuery = null;
            //string? stringQuery = null;
            //var response = instance.TestQueryDatetimeDateString(datetimeQuery, dateQuery, stringQuery);
            //Assert.IsType<string>(response);
        }

        /// <summary>
        /// Test TestQueryIntegerBooleanString
        /// </summary>
        [Fact]
        public void TestQueryIntegerBooleanStringTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //int? integerQuery = null;
            //bool? booleanQuery = null;
            //string? stringQuery = null;
            //var response = instance.TestQueryIntegerBooleanString(integerQuery, booleanQuery, stringQuery);
            //Assert.IsType<string>(response);
        }

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

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

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

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

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