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

1import geojson 

2import pytest 

3from qubalab.objects.geometry import add_plane_to_geometry 

4 

5 

6def test_plane_added_to_geometry(): 

7 geometry = geojson.Point((-115.81, 37.24)) 

8 

9 plane_geometry = add_plane_to_geometry(geometry) 

10 

11 assert 'plane' in plane_geometry 

12 

13 

14def test_plane_added_to_feature(): 

15 feature = geojson.Feature(geometry=geojson.Point((-115.81, 37.24))) 

16 

17 plane_geometry = add_plane_to_geometry(feature) 

18 

19 assert 'plane' in plane_geometry 

20 

21 

22def test_plane_added_to_feature_collection(): 

23 feature_collection = geojson.FeatureCollection([geojson.Feature(geometry=geojson.Point((-115.81, 37.24)))]) 

24 

25 with pytest.raises(ValueError): 

26 add_plane_to_geometry(feature_collection) 

27 

28 

29 

30def test_z_when_not_specified(): 

31 geometry = geojson.Point((-115.81, 37.24)) 

32 

33 plane_geometry = add_plane_to_geometry(geometry) 

34 

35 assert plane_geometry.plane.z == 0 

36 

37 

38def test_z_when_specified(): 

39 z = 5 

40 geometry = geojson.Point((-115.81, 37.24)) 

41 

42 plane_geometry = add_plane_to_geometry(geometry, z=z) 

43 

44 assert plane_geometry.plane.z == z 

45 

46 

47def test_t_when_not_specified(): 

48 geometry = geojson.Point((-115.81, 37.24)) 

49 

50 plane_geometry = add_plane_to_geometry(geometry) 

51 

52 assert plane_geometry.plane.t == 0 

53 

54 

55def test_z_when_specified(): 

56 t = 3 

57 geometry = geojson.Point((-115.81, 37.24)) 

58 

59 plane_geometry = add_plane_to_geometry(geometry, t=t) 

60 

61 assert plane_geometry.plane.t == t 

62 

63 

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 }) 

73 

74 plane_geometry = add_plane_to_geometry(feature, preferred_geometry_key=preferred_geometry_key) 

75 

76 assert plane_geometry.coordinates == preferred_geometry.coordinates