public GiantBombApiClientConfigurationTests()
        {
            var fixture = new Fixture();

            _validator = new GiantBombApiClientConfigurationValidator();

            _configuration = fixture.Create <GiantBombApiClientConfiguration>();
        }
        public static IServiceCollection AddGiantBombProvider(this IServiceCollection services, IConfiguration configuration)
        {
            var giantBombSettings          = configuration.GetSection("GiantBombSettings").Get <GiantBombApiClientConfiguration>();
            var giantBombSettingsValidator = new GiantBombApiClientConfigurationValidator();

            giantBombSettingsValidator.ValidateAndThrow(giantBombSettings);

            services.AddSingleton <IGiantBombApiClientConfiguration>(giantBombSettings);

            var restClientOptions = new RestClientOptions(giantBombSettings.BaseUrl);
            var restClient        = new RestClient(restClientOptions);

            restClient.UseNewtonsoftJson();

            services.AddScoped <IGiantBombApiClient, GiantBombApiClient>(_ => new GiantBombApiClient(giantBombSettings, restClient));
            services.AddScoped <IGiantBombProvider, GiantBombProvider>();

            return(services);
        }