File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 3939from ..util import get_test_file_path
4040
4141
42+ @pytest .fixture ()
43+ def fixture ():
44+ data = {
45+ 'features' : [{
46+ 'geometry' : {
47+ 'type' : 'Point' ,
48+ 'coordinates' : [
49+ - 130.44472222222223 ,
50+ 54.28611111111111
51+ ]
52+ },
53+ 'type' : 'Feature' ,
54+ 'properties' : {
55+ 'id' : 1972 ,
56+ 'foo' : 'bar' ,
57+ 'title' : None ,
58+ },
59+ 'id' : 48693
60+ }]
61+ }
62+
63+ return data
64+
65+
4266@pytest .fixture
4367def data ():
4468 data_path = get_test_file_path ('data/items.geojson' )
@@ -74,6 +98,30 @@ def invalid_geometry_data():
7498 }
7599
76100
101+ def test_csv__formatter (fixture ):
102+ f = CSVFormatter ({'geom' : True })
103+ f_csv = f .write (data = fixture )
104+
105+ buffer = StringIO (f_csv .decode ('utf-8' ))
106+ reader = DictReader (buffer )
107+
108+ header = list (reader .fieldnames )
109+
110+ assert f .mimetype == 'text/csv; charset=utf-8'
111+
112+ assert len (header ) == 5
113+
114+ assert 'x' in header
115+ assert 'y' in header
116+
117+ data = next (reader )
118+ assert data ['x' ] == '-130.44472222222223'
119+ assert data ['y' ] == '54.28611111111111'
120+ assert data ['id' ] == '1972'
121+ assert data ['foo' ] == 'bar'
122+ assert data ['title' ] == ''
123+
124+
77125def test_write_with_geometry_enabled (csv_reader_geom_enabled ):
78126 """Test CSV output with geometry enabled"""
79127 rows = list (csv_reader_geom_enabled )
You can’t perform that action at this time.
0 commit comments