예제 #1
0
        public void UserTagComposer_ComposesFileCorrectly()
        {
            var src = @"testdata\test_userTags.txt";
            var dst = @"testdata\test_userTags.out.txt";

            GeoFileWriter.WriteUserTags(dst, GeoFileReader.ReadUserTags(src));

            FileUtil.EnsureFilesAreFunctionallyEqual(src, dst, 2, 0, new[] { '\t' }, Encoding.UTF8, false);
        }
예제 #2
0
        public void UserTagParser_ParsesFileCorrectly()
        {
            var target = GeoFileReader.ReadUserTags(@"testdata\test_userTags.txt").ToArray();

            Assert.AreEqual(3, target.Length);

            //"Normal" tag
            Assert.AreEqual(2599253, target[0].GeoNameId);
            Assert.AreEqual("opengeodb", target[0].Tag);

            //Tags contain all sorts of randum stuff like URLs
            Assert.AreEqual(6255065, target[1].GeoNameId);
            Assert.AreEqual("http://de.wikipedia.org/wiki/Gotthardgebäude", target[1].Tag);

            Assert.AreEqual(6941058, target[2].GeoNameId);
            Assert.AreEqual("lyžařské", target[2].Tag);
        }
예제 #3
0
 public void FileReader_UserTags_StreamOverload()
 {
     using (var s = File.OpenRead(@"testdata\test_usertags.txt"))
         GeoFileReader.ReadUserTags(s).Count();
 }
예제 #4
0
 private static GeoFile[] GetDumps(GeoFileDownloader downloader)
 {
     return(new[] {
         new GeoFile {
             Filename = "admin1CodesASCII.txt", Test = (f) => ExecuteTest(f, (fn) => { return GeoFileReader.ReadAdmin1Codes(fn).Count(); })
         },
         new GeoFile {
             Filename = "admin2Codes.txt", Test = (f) => ExecuteTest(f, (fn) => { return GeoFileReader.ReadAdmin2Codes(fn).Count(); })
         },
         new GeoFile {
             Filename = "allCountries.zip", Test = (f) => ExecuteTest(f, (fn) => { return GeoFileReader.ReadExtendedGeoNames(fn).Count(); })
         },
         new GeoFile {
             Filename = "alternateNames.zip", Test = (f) => ExecuteTest(f, (fn) => { return GeoFileReader.ReadAlternateNames(fn).Count(); })
         },
         new GeoFile {
             Filename = "cities1000.zip", Test = (f) => ExecuteTest(f, (fn) => { return GeoFileReader.ReadExtendedGeoNames(fn).Count(); })
         },
         new GeoFile {
             Filename = "cities15000.zip", Test = (f) => ExecuteTest(f, (fn) => { return GeoFileReader.ReadExtendedGeoNames(fn).Count(); })
         },
         new GeoFile {
             Filename = "cities5000.zip", Test = (f) => ExecuteTest(f, (fn) => { return GeoFileReader.ReadExtendedGeoNames(fn).Count(); })
         },
         new GeoFile {
             Filename = "countryInfo.txt", Test = (f) => ExecuteTest(f, (fn) => { return GeoFileReader.ReadCountryInfo(fn).Count(); })
         },
         //Featurecodes are downloaded by GetCountryDumps()
         new GeoFile {
             Filename = "hierarchy.zip", Test = (f) => ExecuteTest(f, (fn) => { return GeoFileReader.ReadHierarchy(fn).Count(); })
         },
         new GeoFile {
             Filename = "iso-languagecodes.txt", Test = (f) => ExecuteTest(f, (fn) => { return GeoFileReader.ReadISOLanguageCodes(fn).Count(); })
         },
         new GeoFile {
             Filename = "no-country.zip", Test = (f) => ExecuteTest(f, (fn) => { return GeoFileReader.ReadExtendedGeoNames(fn).Count(); })
         },
         new GeoFile {
             Filename = "timeZones.txt", Test = (f) => ExecuteTest(f, (fn) => { return GeoFileReader.ReadTimeZones(fn).Count(); })
         },
         new GeoFile {
             Filename = "userTags.zip", Test = (f) => ExecuteTest(f, (fn) => { return GeoFileReader.ReadUserTags(fn).Count(); })
         },
     }.Union(GetCountryDumps(downloader)).ToArray());
 }