/*
 * API ebike_v1 1.0.0
 *
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 1.0.0
 * Generated by: https://github.com/openapitools/openapi-generator.git
 */

using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Xunit;
using Microsoft.Extensions.DependencyInjection;
using Org.OpenAPITools.Api;
using Org.OpenAPITools.Model;


/* *********************************************************************************
*              Follow these manual steps to construct tests.
*              This file will not be overwritten.
*  *********************************************************************************
* 1. Navigate to ApiTests.Base.cs and ensure any tokens are being created correctly.
*    Take care not to commit credentials to any repository.
*
* 2. Mocking is coordinated by ApiTestsBase#AddApiHttpClients.
*    To mock the client, use the generic AddApiHttpClients.
*    To mock the server, change the client's BaseAddress.
*
* 3. Locate the test you want below
*      - remove the skip property from the Fact attribute
*      - set the value of any variables if necessary
*
* 4. Run the tests and ensure they work.
*
*/


namespace Org.OpenAPITools.Test.Api
{
    /// <summary>
    ///  Class for testing DefaultApi
    /// </summary>
    public sealed class DefaultApiTests : ApiTestsBase
    {
        private readonly IDefaultApi _instance;

        public DefaultApiTests(): base(Array.Empty<string>())
        {
            _instance = _host.Services.GetRequiredService<IDefaultApi>();
        }

        /// <summary>
        /// Test EbikeIdDelete
        /// </summary>
        [Fact (Skip = "not implemented")]
        public async Task EbikeIdDeleteAsyncTest()
        {
            int id = default!;
            await _instance.EbikeIdDeleteAsync(id);
        }

        /// <summary>
        /// Test EbikeIdGet
        /// </summary>
        [Fact (Skip = "not implemented")]
        public async Task EbikeIdGetAsyncTest()
        {
            int id = default!;
            var response = await _instance.EbikeIdGetAsync(id);
            var model = response.Ok();
            Assert.IsType<Ebike>(model);
        }

        /// <summary>
        /// Test EbikeListGet
        /// </summary>
        [Fact (Skip = "not implemented")]
        public async Task EbikeListGetAsyncTest()
        {
            var response = await _instance.EbikeListGetAsync();
            var model = response.Ok();
            Assert.IsType<List<Ebike>>(model);
        }

        /// <summary>
        /// Test EbikePut
        /// </summary>
        [Fact (Skip = "not implemented")]
        public async Task EbikePutAsyncTest()
        {
            Client.Option<Ebike> ebike = default!;
            var response = await _instance.EbikePutAsync(ebike);
            var model = response.Ok();
            Assert.IsType<Ebike>(model);
        }

        /// <summary>
        /// Test HealthGet
        /// </summary>
        [Fact (Skip = "not implemented")]
        public async Task HealthGetAsyncTest()
        {
            var response = await _instance.HealthGetAsync();
            var model = response.Ok();
            Assert.IsType<string>(model);
        }

        /// <summary>
        /// Test RiderIdDelete
        /// </summary>
        [Fact (Skip = "not implemented")]
        public async Task RiderIdDeleteAsyncTest()
        {
            int id = default!;
            await _instance.RiderIdDeleteAsync(id);
        }

        /// <summary>
        /// Test RiderIdGet
        /// </summary>
        [Fact (Skip = "not implemented")]
        public async Task RiderIdGetAsyncTest()
        {
            int id = default!;
            var response = await _instance.RiderIdGetAsync(id);
            var model = response.Ok();
            Assert.IsType<Rider>(model);
        }

        /// <summary>
        /// Test RiderListGet
        /// </summary>
        [Fact (Skip = "not implemented")]
        public async Task RiderListGetAsyncTest()
        {
            var response = await _instance.RiderListGetAsync();
            var model = response.Ok();
            Assert.IsType<List<Rider>>(model);
        }

        /// <summary>
        /// Test RiderPut
        /// </summary>
        [Fact (Skip = "not implemented")]
        public async Task RiderPutAsyncTest()
        {
            Client.Option<Rider> rider = default!;
            var response = await _instance.RiderPutAsync(rider);
            var model = response.Ok();
            Assert.IsType<Rider>(model);
        }

        /// <summary>
        /// Test RouteIdDelete
        /// </summary>
        [Fact (Skip = "not implemented")]
        public async Task RouteIdDeleteAsyncTest()
        {
            int id = default!;
            await _instance.RouteIdDeleteAsync(id);
        }

        /// <summary>
        /// Test RouteIdGet
        /// </summary>
        [Fact (Skip = "not implemented")]
        public async Task RouteIdGetAsyncTest()
        {
            int id = default!;
            var response = await _instance.RouteIdGetAsync(id);
            var model = response.Ok();
            Assert.IsType<Route>(model);
        }

        /// <summary>
        /// Test RouteListGet
        /// </summary>
        [Fact (Skip = "not implemented")]
        public async Task RouteListGetAsyncTest()
        {
            var response = await _instance.RouteListGetAsync();
            var model = response.Ok();
            Assert.IsType<List<Route>>(model);
        }

        /// <summary>
        /// Test RoutePut
        /// </summary>
        [Fact (Skip = "not implemented")]
        public async Task RoutePutAsyncTest()
        {
            Client.Option<Route> route = default!;
            var response = await _instance.RoutePutAsync(route);
            var model = response.Ok();
            Assert.IsType<Route>(model);
        }
    }
}
