Coverage for tests/objects/test_geojson.py: 100%

18 statements  

« prev     ^ index     » next       coverage.py v7.6.10, created at 2025-01-31 11:24 +0000

1import geojson 

2import math 

3from qubalab.objects.geojson import geojson_features_from_string 

4 

5 

6def test_geojson_from_feature(): 

7 expected_feature = geojson.Feature(geometry=geojson.Point((1.6432, -19.123))) 

8 text = geojson.dumps(expected_feature) 

9 

10 features = geojson_features_from_string(text) 

11 

12 assert features == expected_feature 

13 

14 

15def test_geojson_from_feature_collection(): 

16 expected_features = [geojson.Feature(geometry=geojson.Point((1.6432, -19.123))), geojson.Feature(geometry=geojson.Point((-80.234, -22.532)))] 

17 feature_collection = geojson.FeatureCollection(expected_features) 

18 text = geojson.dumps(feature_collection) 

19 

20 features = geojson_features_from_string(text) 

21 

22 assert features == expected_features 

23 

24 

25def test_geojson_from_feature_with_NaN_value(): 

26 text = '{"type": "Feature", "geometry": {"type": "Point", "coordinates": [NaN, -19.123]}, "properties": {}}' 

27 

28 features = geojson_features_from_string(text) 

29 

30 assert math.isnan(features.geometry.coordinates[0])