public async Task SumOfAllCountriesEqualsWorld()
        {
            JHUCSSEServices         jhucsseServices       = _fixture.ServiceProvider.GetRequiredService <JHUCSSEServices>();
            JHUCSSEHistoricalReport worldHistoricalReport = await jhucsseServices.GetWorldHistoricalReportAsync(CancellationToken.None);

            ImmutableList <Country> countries = await jhucsseServices.GetAllCountriesAsync(CancellationToken.None);

            foreach (DateTime utcDate in from datum in worldHistoricalReport.TimeSeries
                     orderby datum.UtcDate
                     select datum.UtcDate)
            {
                int totalConfirmed = 0;
                int totalDeaths    = 0;
                int totalRecovered = 0;
                int?totalActive    = null;

                Debug.WriteLine($"SumOfAllCountriesEqualsWorld: {utcDate}");

                foreach (Country country in countries)
                {
                    JHUCSSEHistoricalReport countryHistoricalReport = await jhucsseServices.GetCountryHistoricalReportAsync(country.Name, CancellationToken.None);

                    JHUCSSEDailyStatistics?countryDatum = countryHistoricalReport.TimeSeries.FirstOrDefault(datum => datum.UtcDate == utcDate);
                    if (countryDatum != null)
                    {
                        totalConfirmed += countryDatum.Confirmed;
                        totalDeaths    += countryDatum.Deaths;
                        totalRecovered += countryDatum.Recovered;
                        if (countryDatum.Active.HasValue)
                        {
                            if (totalActive.HasValue)
                            {
                                totalActive += countryDatum.Active.Value;
                            }
                            else
                            {
                                totalActive = countryDatum.Active;
                            }
                        }
                    }
                }

                JHUCSSEDailyStatistics worldDatum = worldHistoricalReport.TimeSeries.Single(datum => datum.UtcDate == utcDate);
                worldDatum.Confirmed.Should().Be(totalConfirmed,
                                                 because: "Sum of all countries' confirmed cases should be equal to world's confirmed cases on {0}.", utcDate.ToString("MM-dd-yyyy"));
                worldDatum.Deaths.Should().Be(totalDeaths,
                                              because: "Sum of all countries' number of deaths should be equal to world's number of deaths on {0}.", utcDate.ToString("MM-dd-yyyy"));
                worldDatum.Recovered.Should().Be(totalRecovered,
                                                 because: "Sum of all countries' number of recoveries should be equal to world's number of recoveries on {0}.", utcDate.ToString("MM-dd-yyyy"));
                worldDatum.Active.Should().Be(totalActive,
                                              because: "Sum of all countries' active cases should be equal to world's active cases on {0}.", utcDate.ToString("MM-dd-yyyy"));
            }
        }
        public async Task KnownAdmin1DataVerified(int month, int day, string country, string admin1, int confirmed, int deaths, int recovered, int?active)
        {
            JHUCSSEServices         jhucsseServices        = _fixture.ServiceProvider.GetRequiredService <JHUCSSEServices>();
            JHUCSSEHistoricalReport admin1HistoricalReport = await jhucsseServices.GetAdmin1HistoricalReportAsync(country, admin1, CancellationToken.None);

            DateTime utcDate             = new DateTime(2020, month, day, 0, 0, 0, DateTimeKind.Utc);
            JHUCSSEDailyStatistics datum = admin1HistoricalReport.TimeSeries.Single(datum => datum.UtcDate == utcDate);

            datum.Confirmed.Should().Be(confirmed);
            datum.Deaths.Should().Be(deaths);
            datum.Recovered.Should().Be(recovered);
            datum.Active.Should().Be(active);
        }