private static GeoFile[] GetCountryPostalcodes(GeoFileDownloader downloader) { var w = new WebClient(); var document = w.DownloadString(downloader.BaseUri); var countries = new Regex("href=\"([A-Z]{2}.zip)", RegexOptions.Compiled | RegexOptions.CultureInvariant | RegexOptions.IgnoreCase) .Matches(document) .Cast<Match>() .Select(m => new GeoFile { Filename = m.Groups[1].Value, Test = (f) => ExecuteTest(f, (fn) => { return GeoFileReader.ReadPostalcodes(fn).Count(); }) }); return new[] { new GeoFile { Filename = "allCountries.zip", Test = (f) => ExecuteTest(f, (fn) => { return GeoFileReader.ReadPostalcodes(fn).Count(); }) } }.Union(countries.OrderBy(m => m.Filename)).ToArray(); }