class ReverseGeocoderShapeTest(unittest.TestCase):
    def setUp(self):
        self.rev = ReverseGeocoderShape()
        self.rev.shapes["a"] = MultiPolygon(
            [Polygon(((0, 0), (1, 0), (1, 1), (0, 1)))])
        self.rev.shapes["b"] = MultiPolygon([
            Polygon(((10, 20), (10, 21), (9, 23), (8, 7), (9, 15), (9.5, 16)))
        ])
        self.rev.shapes["c"] = MultiPolygon([
            Polygon(((20, 20), (20, 30), (30, 30), (30, 20)),
                    [((21, 21), (21, 25), (25, 25), (25, 21))])
        ])
        self.rev.shapes["d"] = MultiPolygon(
            [Polygon(((21, 21), (21, 24), (24, 24), (24, 21)))])
        self.rev.shapes["e"] = MultiPolygon(
            [Polygon(((1, 0), (2, 0), (2, 1), (1, 1)))])

    def tearDown(self):
        self.rev.stop()
        del self.rev

    def test_reversegeocodeshape_a(self):
        self.assertEqual("a", self.rev.reversegeocodeshape(Point(0.5, 0.5)))

    def test_reversegeocodeshape_a_corner(self):
        self.assertEqual("a", self.rev.reversegeocodeshape(Point(0, 0)))

    def test_reversegeocodeshape_a_on_edge(self):
        self.assertEqual("a", self.rev.reversegeocodeshape(Point(0.5, 0)))

    def test_reversegeocodeshape_b(self):
        self.assertEqual("b", self.rev.reversegeocodeshape(Point(9, 21)))

    def test_reversegeocodeshape_c(self):
        self.assertEqual("c", self.rev.reversegeocodeshape(Point(20.5, 20.5)))

    def test_reversegeocodeshape_c_inner_polygon(self):
        self.assertEqual(None, self.rev.reversegeocodeshape(Point(22, 24.5)))

    def test_reversegeocodeshape_d(self):
        self.assertEqual("d", self.rev.reversegeocodeshape(Point(22, 22)))

    def test_reversegeocodeshape_e(self):
        self.assertEqual("e", self.rev.reversegeocodeshape(Point(1.5, 0.5)))

    def test_reversegeocodeshape_a_list_nok(self):
        self.assertEqual(
            None, self.rev.reversegeocodeshape(Point(0.5, 0.5),
                                               ["b", "c", "d"]))

    def test_reversegeocodeshape_a_list_ok(self):
        self.assertEqual(
            "a", self.rev.reversegeocodeshape(Point(0.5, 0.5),
                                              ["b", "a", "d"]))

    def test_reversegeocodeshape_a_on_corner(self):
        self.assertEqual("a", self.rev.reversegeocodeshape(Point(1, 0)))

    def test_reversegeocodeshape_a_on_edge_second(self):
        self.assertEqual("a", self.rev.reversegeocodeshape(Point(1, 0.5)))
class ReverseGeocoderShapeIndexTest(unittest.TestCase):
    def setUp(self):
        self.rev = ReverseGeocoderShape()
        self.rev.shapes["a"] = MultiPolygon(
            [Polygon(((0, 0), (1, 0), (1, 1), (0, 1)))])
        self.rev.shapes["b"] = MultiPolygon([
            Polygon(((10, 20), (10, 21), (9, 23), (8, 7), (9, 15), (9.5, 16)))
        ])
        self.rev.shapes["c"] = MultiPolygon([
            Polygon(((20, 20), (20, 30), (30, 30), (30, 20)),
                    [((21, 21), (21, 25), (25, 25), (25, 21))])
        ])
        self.rev.shapes["d"] = MultiPolygon(
            [Polygon(((21, 21), (21, 24), (24, 24), (24, 21)))])
        self.rev.shapes["e"] = MultiPolygon(
            [Polygon(((1, 0), (2, 0), (2, 1), (1, 1)))])
        self.rev.createindex()

    def tearDown(self):
        self.rev.stop()
        del self.rev

    def test_create_index(self):
        self.assertEqual(26, len(self.rev.index))
        self.assertEqual(["a"], self.rev.index[0]["keys"])
        self.assertEqual(["a", "e"], self.rev.index[1]["keys"])
        self.assertEqual(["a"], self.rev.index[2]["keys"])
        self.assertEqual(["a", "e"], self.rev.index[3]["keys"])
        self.assertEqual(["b"], self.rev.index[4]["keys"])
        self.assertEqual(["b"], self.rev.index[6]["keys"])
        self.assertEqual(["c"], self.rev.index[8]["keys"])
        self.assertEqual(["c", "d"], self.rev.index[15]["keys"])

    def test_reversegeocodeindex_a(self):
        self.assertEqual("a", self.rev.reversegeocodeindex(Point(0.5, 0.5)))

    def test_reversegeocodeindex_a_corner(self):
        self.assertEqual("a", self.rev.reversegeocodeindex(Point(0, 0)))

    def test_reversegeocodeindex_a_corner1(self):
        self.assertEqual("a", self.rev.reversegeocodeindex(Point(1, 0)))

    def test_reversegeocodeindex_b(self):
        self.assertEqual("b", self.rev.reversegeocodeindex(Point(9.5, 22)))

    def test_reversegeocodeindex_c(self):
        self.assertEqual("c", self.rev.reversegeocodeindex(Point(25, 25)))

    def test_reversegeocodeindex_d(self):
        self.assertEqual("d", self.rev.reversegeocodeindex(Point(22, 23)))

    def test_reversegeocodeindex_e(self):
        self.assertEqual("e", self.rev.reversegeocodeindex(Point(1.5, 0.5)))

    def test_reversegeocodeindex_none(self):
        self.assertEqual(None, self.rev.reversegeocodeindex(Point(-1, -1)))
class ReverseGeocoderShapeIndexTest(unittest.TestCase):
    def setUp(self):
        self.rev = ReverseGeocoderShape()
        self.rev.shapes["a"] = MultiPolygon([Polygon(((0, 0), (1, 0), (1, 1), (0, 1)))])
        self.rev.shapes["b"] = MultiPolygon([Polygon(((10, 20), (10, 21), (9, 23), (8, 7), (9, 15), (9.5, 16)))])
        self.rev.shapes["c"] = MultiPolygon(
            [Polygon(((20, 20), (20, 30), (30, 30), (30, 20)), [((21, 21), (21, 25), (25, 25), (25, 21))])])
        self.rev.shapes["d"] = MultiPolygon([Polygon(((21, 21), (21, 24), (24, 24), (24, 21)))])
        self.rev.shapes["e"] = MultiPolygon([Polygon(((1, 0), (2, 0), (2, 1), (1, 1)))])
        self.rev.createindex()

    def tearDown(self):
        self.rev.stop()
        del self.rev

    def test_create_index(self):
        self.assertEqual(26, len(self.rev.index))
        self.assertEqual(["a"], self.rev.index[0]["keys"])
        self.assertEqual(["a", "e"], self.rev.index[1]["keys"])
        self.assertEqual(["a"], self.rev.index[2]["keys"])
        self.assertEqual(["a", "e"], self.rev.index[3]["keys"])
        self.assertEqual(["b"], self.rev.index[4]["keys"])
        self.assertEqual(["b"], self.rev.index[6]["keys"])
        self.assertEqual(["c"], self.rev.index[8]["keys"])
        self.assertEqual(["c", "d"], self.rev.index[15]["keys"])

    def test_reversegeocodeindex_a(self):
        self.assertEqual("a", self.rev.reversegeocodeindex(Point(0.5, 0.5)))

    def test_reversegeocodeindex_a_corner(self):
        self.assertEqual("a", self.rev.reversegeocodeindex(Point(0, 0)))

    def test_reversegeocodeindex_a_corner1(self):
        self.assertEqual("a", self.rev.reversegeocodeindex(Point(1, 0)))

    def test_reversegeocodeindex_b(self):
        self.assertEqual("b", self.rev.reversegeocodeindex(Point(9.5, 22)))

    def test_reversegeocodeindex_c(self):
        self.assertEqual("c", self.rev.reversegeocodeindex(Point(25, 25)))

    def test_reversegeocodeindex_d(self):
        self.assertEqual("d", self.rev.reversegeocodeindex(Point(22, 23)))

    def test_reversegeocodeindex_e(self):
        self.assertEqual("e", self.rev.reversegeocodeindex(Point(1.5, 0.5)))

    def test_reversegeocodeindex_none(self):
        self.assertEqual(None, self.rev.reversegeocodeindex(Point(-1, -1)))
Exemplo n.º 4
0
class ReverseGeocoderShapeTest(unittest.TestCase):
    def setUp(self):
        self.rev = ReverseGeocoderShape()
        self.rev.shapes["a"] = MultiPolygon([Polygon(((0, 0), (1, 0), (1, 1), (0, 1)))])
        self.rev.shapes["b"] = MultiPolygon([Polygon(((10, 20), (10, 21), (9, 23), (8, 7), (9, 15), (9.5, 16)))])
        self.rev.shapes["c"] = MultiPolygon(
            [Polygon(((20, 20), (20, 30), (30, 30), (30, 20)), [((21, 21), (21, 25), (25, 25), (25, 21))])])
        self.rev.shapes["d"] = MultiPolygon([Polygon(((21, 21), (21, 24), (24, 24), (24, 21)))])
        self.rev.shapes["e"] = MultiPolygon([Polygon(((1, 0), (2, 0), (2, 1), (1, 1)))])

    def tearDown(self):
        self.rev.stop()
        del self.rev

    def test_reversegeocodeshape_a(self):
        self.assertEqual("a", self.rev.reversegeocodeshape(Point(0.5, 0.5)))

    def test_reversegeocodeshape_a_corner(self):
        self.assertEqual("a", self.rev.reversegeocodeshape(Point(0, 0)))

    def test_reversegeocodeshape_a_on_edge(self):
        self.assertEqual("a", self.rev.reversegeocodeshape(Point(0.5, 0)))

    def test_reversegeocodeshape_b(self):
        self.assertEqual("b", self.rev.reversegeocodeshape(Point(9, 21)))

    def test_reversegeocodeshape_c(self):
        self.assertEqual("c", self.rev.reversegeocodeshape(Point(20.5, 20.5)))

    def test_reversegeocodeshape_c_inner_polygon(self):
        self.assertEqual(None, self.rev.reversegeocodeshape(Point(22, 24.5)))

    def test_reversegeocodeshape_d(self):
        self.assertEqual("d", self.rev.reversegeocodeshape(Point(22, 22)))

    def test_reversegeocodeshape_e(self):
        self.assertEqual("e", self.rev.reversegeocodeshape(Point(1.5, 0.5)))

    def test_reversegeocodeshape_a_list_nok(self):
        self.assertEqual(None, self.rev.reversegeocodeshape(Point(0.5, 0.5), ["b", "c", "d"]))

    def test_reversegeocodeshape_a_list_ok(self):
        self.assertEqual("a", self.rev.reversegeocodeshape(Point(0.5, 0.5), ["b", "a", "d"]))

    def test_reversegeocodeshape_a_on_corner(self):
        self.assertEqual("a", self.rev.reversegeocodeshape(Point(1, 0)))

    def test_reversegeocodeshape_a_on_edge_second(self):
        self.assertEqual("a", self.rev.reversegeocodeshape(Point(1, 0.5)))
Exemplo n.º 5
0
class ReverseGeocoderShapeMapTest(unittest.TestCase):
    def setUp(self):
        self.rev = ReverseGeocoderShape()
        self.basepath = "."
        self.filetype = "geojson"

    def tearDown(self):
        self.rev.stop()
        del self.rev

    def load_index(self):
        index_file = os.path.join(
            self.basepath, "bin", "lib",
            "reversegeocodeshape-" + self.rev.map_md5 + ".index")
        self.rev.load_index_file(index_file)

    def test_map_custom(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data",
                                "custom.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(51, 3)
        self.assertEqual(key, "area1")

    def test_map_hexagonmap_display_2(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data",
                                "hexagonmap_display_2.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(51, 3)
        self.assertEqual(key, "3350")

    def test_map_hexagonmap_display_3(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data",
                                "hexagonmap_display_3.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(51, 3)
        self.assertIsNone(key)

    def test_map_hexagonmap_regeo_2(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data",
                                "hexagonmap_regeo_2.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(51, 3)
        self.assertEqual(key, "3350")

    def test_map_hexagonmap_regeo_3(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data",
                                "hexagonmap_regeo_3.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(51, 3)
        self.assertEqual(key, "1514")

    def test_map_squaremap_2(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data",
                                "squaremap_2.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(51, 3)
        self.assertEqual(key, "12691")

    def test_map_squaremap_4(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data",
                                "squaremap_4.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(51, 3)
        self.assertEqual(key, "3195")

    def test_map_world2(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data",
                                "world2.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(51, 3)
        self.assertEqual(key, "BE")

    def test_map_world3(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data",
                                "world3.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(51, 3)
        self.assertEqual(key, "BEL")

    """
        Start testing for the different continents
    """

    def test_map_continent_africa(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data",
                                "continents/africa.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(17, 9)
        self.assertEqual(key, "NER")

    def test_map_continent_asia(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data",
                                "continents/asia.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(19, 73)
        self.assertEqual(key, "IND")

    def test_map_continent_europe(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data",
                                "continents/europe.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(51, 3)
        self.assertEqual(key, "BEL")

    def test_map_continent_north_america(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data",
                                "continents/north-america.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(45, -75)
        self.assertEqual(key, "CAN")

    def test_map_continent_oceania(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data",
                                "continents/oceania.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(-33, 150)
        self.assertEqual(key, "AUS")

    def test_map_continent_south_america(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data",
                                "continents/south-america.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(-31, -64)
        self.assertEqual(key, "ARG")

    """
        Start testing for the different countries
    """

    def test_map_country_be(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data",
                                "countries/be.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(51, 3)
        self.assertEqual(key, "West Flanders")

    def test_map_country_br(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data",
                                "countries/br.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(-8, -63)
        self.assertEqual(key, "Amazonas")

    def test_map_country_ca(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data",
                                "countries/ca.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(53, -113)
        self.assertEqual(key, "Alberta")

    def test_map_country_cn(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data",
                                "countries/cn.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(34, 108)
        self.assertEqual(key, "Shaanxi")

    def test_map_country_de(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data",
                                "countries/de.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(52, 13)
        self.assertEqual(key, "Brandenburg")

    def test_map_country_es(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data",
                                "countries/es.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(41, -1)
        self.assertEqual(key, "Teruel")

    def test_map_country_fr(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data",
                                "countries/fr.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(49, 0)
        self.assertEqual(key, "Calvados")

    def test_map_country_in(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data",
                                "countries/in.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(18, 75)
        self.assertEqual(key, "Maharashtra")

    def test_map_country_it(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data",
                                "countries/it.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(42, 12)
        self.assertEqual(key, "Roma")

    def test_map_country_ru(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data",
                                "countries/ru.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(55, 37)
        self.assertEqual(key, "Kaluga")

    def test_map_country_uk(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data",
                                "countries/uk.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(51, 0)
        self.assertEqual(key, "East Sussex")

    def test_map_country_us(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data",
                                "countries/us.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(33, -84)
        self.assertEqual(key, "GA")

    """
    def test_map_country_us_counties(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data", "countries/us_counties.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(33, -84)
        self.assertEqual(key, "13207")
    """

    def test_map_country_us_simplified(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data",
                                "countries/us_simplified.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(33, -84)
        self.assertEqual(key, "GA")
class ReverseGeocoderShapeMapTest(unittest.TestCase):
    def setUp(self):
        self.rev = ReverseGeocoderShape()
        self.basepath = "."
        self.filetype = "geojson"

    def tearDown(self):
        self.rev.stop()
        del self.rev

    def load_index(self):
        index_file = os.path.join(self.basepath, "bin", "lib", "reversegeocodeshape-" + self.rev.map_md5 + ".index")
        self.rev.load_index_file(index_file)

    def test_map_custom(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data", "custom.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(51, 3)
        self.assertEqual(key, "area1")

    def test_map_hexagonmap_display_2(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data", "hexagonmap_display_2.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(51, 3)
        self.assertEqual(key, "3350")

    def test_map_hexagonmap_display_3(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data", "hexagonmap_display_3.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(51, 3)
        self.assertIsNone(key)

    def test_map_hexagonmap_regeo_2(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data", "hexagonmap_regeo_2.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(51, 3)
        self.assertEqual(key, "3350")

    def test_map_hexagonmap_regeo_3(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data", "hexagonmap_regeo_3.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(51, 3)
        self.assertEqual(key, "1514")

    def test_map_squaremap_2(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data", "squaremap_2.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(51, 3)
        self.assertEqual(key, "12691")

    def test_map_squaremap_4(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data", "squaremap_4.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(51, 3)
        self.assertEqual(key, "3195")

    def test_map_world2(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data", "world2.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(51, 3)
        self.assertEqual(key, "BE")

    def test_map_world3(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data", "world3.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(51, 3)
        self.assertEqual(key, "BEL")

    """
        Start testing for the different continents
    """
    def test_map_continent_africa(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data", "continents/africa.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(17, 9)
        self.assertEqual(key, "NER")

    def test_map_continent_asia(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data", "continents/asia.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(19, 73)
        self.assertEqual(key, "IND")

    def test_map_continent_europe(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data", "continents/europe.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(51, 3)
        self.assertEqual(key, "BEL")

    def test_map_continent_north_america(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data", "continents/north-america.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(45, -75)
        self.assertEqual(key, "CAN")

    def test_map_continent_oceania(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data", "continents/oceania.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(-33, 150)
        self.assertEqual(key, "AUS")

    def test_map_continent_south_america(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data", "continents/south-america.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(-31, -64)
        self.assertEqual(key, "ARG")

    """
        Start testing for the different countries
    """
    def test_map_country_be(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data", "countries/be.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(51, 3)
        self.assertEqual(key, "West Flanders")

    def test_map_country_br(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data", "countries/br.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(-8, -63)
        self.assertEqual(key, "Amazonas")

    def test_map_country_ca(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data", "countries/ca.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(53, -113)
        self.assertEqual(key, "Alberta")

    def test_map_country_cn(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data", "countries/cn.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(34, 108)
        self.assertEqual(key, "Shaanxi")

    def test_map_country_de(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data", "countries/de.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(52, 13)
        self.assertEqual(key, "Brandenburg")

    def test_map_country_es(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data", "countries/es.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(41, -1)
        self.assertEqual(key, "Teruel")

    def test_map_country_fr(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data", "countries/fr.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(49, 0)
        self.assertEqual(key, "Calvados")

    def test_map_country_in(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data", "countries/in.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(18, 75)
        self.assertEqual(key, "Maharashtra")

    def test_map_country_it(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data", "countries/it.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(42, 12)
        self.assertEqual(key, "Roma")

    def test_map_country_ru(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data", "countries/ru.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(55, 37)
        self.assertEqual(key, "Kaluga")

    def test_map_country_uk(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data", "countries/uk.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(51, 0)
        self.assertEqual(key, "East Sussex")

    def test_map_country_us(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data", "countries/us.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(33, -84)
        self.assertEqual(key, "GA")

    """
    def test_map_country_us_counties(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data", "countries/us_counties.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(33, -84)
        self.assertEqual(key, "13207")
    """

    def test_map_country_us_simplified(self):
        map_file = os.path.join(self.basepath, "appserver", "static", "data", "countries/us_simplified.geojson")
        self.rev.load_map_file(self.filetype, map_file)
        self.load_index()
        key = self.rev.reversegeocode(33, -84)
        self.assertEqual(key, "GA")