/* 
 * Swagger Petstore
 *
 * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
 *
 * OpenAPI spec version: 1.0.0
 * Contact: apiteam@swagger.io
 * 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 NUnit.Framework;

using Org.OpenAPITools.Client;
using Org.OpenAPITools.Api;
using Org.OpenAPITools.Model;

namespace Org.OpenAPITools.Test
{
    /// <summary>
    ///  Class for testing FakeApi
    /// </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>
    [TestFixture]
    public class FakeApiTests
    {
        private FakeApi instance;

        /// <summary>
        /// Setup before each unit test
        /// </summary>
        [SetUp]
        public void Init()
        {
            instance = new FakeApi();
        }

        /// <summary>
        /// Clean up after each unit test
        /// </summary>
        [TearDown]
        public void Cleanup()
        {

        }

        /// <summary>
        /// Test an instance of FakeApi
        /// </summary>
        [Test]
        public void InstanceTest()
        {
            // TODO uncomment below to test 'IsInstanceOfType' FakeApi
            //Assert.IsInstanceOfType(typeof(FakeApi), instance, "instance is a FakeApi");
        }

        
        /// <summary>
        /// Test FakeOuterBooleanSerialize
        /// </summary>
        [Test]
        public void FakeOuterBooleanSerializeTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //bool? body = null;
            //var response = instance.FakeOuterBooleanSerialize(body);
            //Assert.IsInstanceOf<bool?> (response, "response is bool?");
        }
        
        /// <summary>
        /// Test FakeOuterCompositeSerialize
        /// </summary>
        [Test]
        public void FakeOuterCompositeSerializeTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //OuterComposite outerComposite = null;
            //var response = instance.FakeOuterCompositeSerialize(outerComposite);
            //Assert.IsInstanceOf<OuterComposite> (response, "response is OuterComposite");
        }
        
        /// <summary>
        /// Test FakeOuterNumberSerialize
        /// </summary>
        [Test]
        public void FakeOuterNumberSerializeTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //decimal? body = null;
            //var response = instance.FakeOuterNumberSerialize(body);
            //Assert.IsInstanceOf<decimal?> (response, "response is decimal?");
        }
        
        /// <summary>
        /// Test FakeOuterStringSerialize
        /// </summary>
        [Test]
        public void FakeOuterStringSerializeTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //string body = null;
            //var response = instance.FakeOuterStringSerialize(body);
            //Assert.IsInstanceOf<string> (response, "response is string");
        }
        
        /// <summary>
        /// Test TestBodyWithQueryParams
        /// </summary>
        [Test]
        public void TestBodyWithQueryParamsTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //string query = null;
            //User user = null;
            //instance.TestBodyWithQueryParams(query, user);
            
        }
        
        /// <summary>
        /// Test TestClientModel
        /// </summary>
        [Test]
        public void TestClientModelTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //ModelClient modelClient = null;
            //var response = instance.TestClientModel(modelClient);
            //Assert.IsInstanceOf<ModelClient> (response, "response is ModelClient");
        }
        
        /// <summary>
        /// Test TestEndpointParameters
        /// </summary>
        [Test]
        public void TestEndpointParametersTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //decimal? number = null;
            //double? _double = null;
            //string patternWithoutDelimiter = null;
            //byte[] _byte = null;
            //int? integer = null;
            //int? int32 = null;
            //long? int64 = null;
            //float? _float = null;
            //string _string = null;
            //System.IO.Stream binary = null;
            //DateTime? date = null;
            //DateTime? dateTime = null;
            //string password = null;
            //string callback = null;
            //instance.TestEndpointParameters(number, _double, patternWithoutDelimiter, _byte, integer, int32, int64, _float, _string, binary, date, dateTime, password, callback);
            
        }
        
        /// <summary>
        /// Test TestEnumParameters
        /// </summary>
        [Test]
        public void TestEnumParametersTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //List<string> enumHeaderStringArray = null;
            //string enumHeaderString = null;
            //List<string> enumQueryStringArray = null;
            //string enumQueryString = null;
            //int? enumQueryInteger = null;
            //double? enumQueryDouble = null;
            //List<string> enumFormStringArray = null;
            //string enumFormString = null;
            //instance.TestEnumParameters(enumHeaderStringArray, enumHeaderString, enumQueryStringArray, enumQueryString, enumQueryInteger, enumQueryDouble, enumFormStringArray, enumFormString);
            
        }
        
        /// <summary>
        /// Test TestInlineAdditionalProperties
        /// </summary>
        [Test]
        public void TestInlineAdditionalPropertiesTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //string requestBody = null;
            //instance.TestInlineAdditionalProperties(requestBody);
            
        }
        
        /// <summary>
        /// Test TestJsonFormData
        /// </summary>
        [Test]
        public void TestJsonFormDataTest()
        {
            // TODO uncomment below to test the method and replace null with proper value
            //string param = null;
            //string param2 = null;
            //instance.TestJsonFormData(param, param2);
            
        }
        
    }

}
