def test_choose_osm_zoom_with_w_h_in_config(self): # Arrange config = hm.Configuration(use_defaults=True) config.width = 400 config.height = 200 config.extent_in = hm.Extent(coords=(hm.LatLon(-10, -10), hm.LatLon(10, 10))) padding = 2 # Act zoom = hm.choose_osm_zoom(config, padding) # Assert self.assertEqual(zoom, 3)
def _assert_mapping(self, latlon_given, xy_given, projection): latlon_given = hm.LatLon(*latlon_given) xy_given = hm.Coordinate(*xy_given) xy_actual = projection.project(latlon_given) self.assertTrue(isinstance(xy_actual, hm.Coordinate)) self.assertAlmostEqual(xy_given.x, xy_actual.x) self.assertAlmostEqual(xy_given.y, xy_actual.y) latlon_actual = projection.inverse_project(xy_given) self.assertTrue(isinstance(latlon_actual, hm.LatLon)) self.assertAlmostEqual(latlon_given.lat, latlon_actual.lat) self.assertAlmostEqual(latlon_given.lon, latlon_actual.lon)
def test_latlon(self): '''Test LatLon class.''' coord = hm.LatLon(37, -122) self.assertEqual(coord.lat, 37) self.assertEqual(coord.lon, -122) self.assertEqual(coord.y, 37) self.assertEqual(coord.x, -122) self.assertEqual(coord, coord.copy()) # test order self.assertEqual(coord.first, coord.lat) self.assertEqual(coord.second, coord.lon) # test updates coord.lat = 25 self.assertEqual(coord.lat, 25) self.assertEqual(coord.y, 25) coord.y = 10 self.assertEqual(coord.lat, 10) self.assertEqual(coord.y, 10)
def shapes_generator(count): for i in range(count): a = random.gauss(10, 1.0) b = random.gauss(10, 2.0) yield hm.Point(hm.LatLon(a, b), )