Coverage for tests/objects/test_geometry.py: 90%
40 statements
« prev ^ index » next coverage.py v7.6.10, created at 2025-01-31 11:24 +0000
« prev ^ index » next coverage.py v7.6.10, created at 2025-01-31 11:24 +0000
1import geojson
2import pytest
3from qubalab.objects.geometry import add_plane_to_geometry
6def test_plane_added_to_geometry():
7 geometry = geojson.Point((-115.81, 37.24))
9 plane_geometry = add_plane_to_geometry(geometry)
11 assert 'plane' in plane_geometry
14def test_plane_added_to_feature():
15 feature = geojson.Feature(geometry=geojson.Point((-115.81, 37.24)))
17 plane_geometry = add_plane_to_geometry(feature)
19 assert 'plane' in plane_geometry
22def test_plane_added_to_feature_collection():
23 feature_collection = geojson.FeatureCollection([geojson.Feature(geometry=geojson.Point((-115.81, 37.24)))])
25 with pytest.raises(ValueError):
26 add_plane_to_geometry(feature_collection)
30def test_z_when_not_specified():
31 geometry = geojson.Point((-115.81, 37.24))
33 plane_geometry = add_plane_to_geometry(geometry)
35 assert plane_geometry.plane.z == 0
38def test_z_when_specified():
39 z = 5
40 geometry = geojson.Point((-115.81, 37.24))
42 plane_geometry = add_plane_to_geometry(geometry, z=z)
44 assert plane_geometry.plane.z == z
47def test_t_when_not_specified():
48 geometry = geojson.Point((-115.81, 37.24))
50 plane_geometry = add_plane_to_geometry(geometry)
52 assert plane_geometry.plane.t == 0
55def test_z_when_specified():
56 t = 3
57 geometry = geojson.Point((-115.81, 37.24))
59 plane_geometry = add_plane_to_geometry(geometry, t=t)
61 assert plane_geometry.plane.t == t
64def test_preferred_geometry_used():
65 base_geometry = geojson.Point((-115.81, 37.24))
66 preferred_geometry = geojson.Point((43, -78))
67 preferred_geometry_key = "some_key"
68 feature = geojson.Feature(geometry=base_geometry, properties={
69 "extra_geometries": {
70 preferred_geometry_key: preferred_geometry
71 }
72 })
74 plane_geometry = add_plane_to_geometry(feature, preferred_geometry_key=preferred_geometry_key)
76 assert plane_geometry.coordinates == preferred_geometry.coordinates