def test_topology_linked_to_not_draft(self): path_draft = PathFactory.create(name="draft", geom='LINESTRING(0 0, 1 0, 2 0)', draft=True) path_draft.save() path_normal = PathFactory.create(name="normal", geom='LINESTRING(0 3, 1 3, 2 3)', draft=False) path_normal.save() point = Point(0, 0, srid=settings.SRID) closest = Path.closest(point) self.assertEqual(point.wkt, 'POINT (0 0)') self.assertEqual(closest, path_normal)
def test_deserialize_point(self): PathFactory.create() # Take a point p = Point(2, 1, 0, srid=settings.SRID) p.transform(settings.API_SRID) closest = Path.closest(p) # Check closest path self.assertEqual(closest.geom.coords, ((1.0, 1.0, 0.0), (2.0, 2.0, 0.0))) # The point has same x as first point of path, and y to 0 : topology = Topology.deserialize('{"lng": %s, "lat": %s}' % (p.x, p.y)) self.assertAlmostEqual(topology.offset, -0.7071, 3) self.assertEqual(len(topology.paths.all()), 1) pagg = topology.aggregations.get() self.assertTrue(almostequal(pagg.start_position, 0.5)) self.assertTrue(almostequal(pagg.end_position, 0.5))