@@ -151,10 +151,10 @@ def test_read_files_custom_parameters(self, tmpdir):
151
151
"""Test the read method of CSVHandler class with custom read parameters."""
152
152
# Setup
153
153
file_path = Path (tmpdir )
154
- read_csv_parameters = {
154
+ read_csv_parameters = {
155
155
'encoding' : 'latin-1' ,
156
156
'nrows' : 1 ,
157
- 'escapechar' : " \\ " ,
157
+ 'escapechar' : ' \\ ' ,
158
158
'quotechar' : '"' ,
159
159
'sep' : ';' ,
160
160
}
@@ -169,22 +169,18 @@ def test_read_files_custom_parameters(self, tmpdir):
169
169
170
170
# Run
171
171
data = handler .read (
172
- tmpdir ,
173
- file_names = ['parent.csv' ],
174
- read_csv_parameters = read_csv_parameters
172
+ tmpdir , file_names = ['parent.csv' ], read_csv_parameters = read_csv_parameters
175
173
)
176
174
177
175
# Assert
178
176
assert 'parent' in data
179
- pd .testing .assert_frame_equal (
180
- data ['parent' ], pd .DataFrame ({'col1' : [1 ], 'col2' : ['a' ]})
181
- )
177
+ pd .testing .assert_frame_equal (data ['parent' ], pd .DataFrame ({'col1' : [1 ], 'col2' : ['a' ]}))
182
178
183
179
def test_read_files_bad_parameters (self , tmpdir ):
184
180
"""Test the read method of CSVHandler class with custom read parameters."""
185
181
# Setup
186
182
file_path = Path (tmpdir )
187
- read_csv_parameters = {
183
+ read_csv_parameters = {
188
184
'filepath_or_buffer' : 'myfile' ,
189
185
'nrows' : 1 ,
190
186
'sep' : ';' ,
@@ -205,11 +201,7 @@ def test_read_files_bad_parameters(self, tmpdir):
205
201
'parameters instead.'
206
202
)
207
203
with pytest .raises (ValueError , match = error_msg ):
208
- handler .read (
209
- tmpdir ,
210
- file_names = ['parent.csv' ],
211
- read_csv_parameters = read_csv_parameters
212
- )
204
+ handler .read (tmpdir , file_names = ['parent.csv' ], read_csv_parameters = read_csv_parameters )
213
205
214
206
def test_write (self , tmpdir ):
215
207
"""Test the write functionality of a CSVHandler."""
@@ -288,6 +280,29 @@ def test_write_file_exists_mode_is_w(self, tmpdir):
288
280
expected_dataframe = pd .DataFrame ({'col1' : [1 , 2 , 3 ], 'col2' : ['a' , 'b' , 'c' ]})
289
281
pd .testing .assert_frame_equal (dataframe , expected_dataframe )
290
282
283
+ def test_write_file_with_custom_params (self , tmpdir ):
284
+ """Test the write functionality of a CSVHandler when the mode is ``w``."""
285
+ # Setup
286
+ table_one_mock = Mock ()
287
+ table_two_mock = Mock ()
288
+
289
+ synthetic_data = {'table1' : table_one_mock , 'table2' : table_two_mock }
290
+
291
+ os .makedirs (tmpdir / 'synthetic_data' )
292
+ handler = CSVHandler ()
293
+ write_parameters = {'index' : True , 'sep' : ';' }
294
+
295
+ # Run
296
+ handler .write (synthetic_data , tmpdir / 'synthetic_data' , to_csv_parameters = write_parameters )
297
+
298
+ # Assert
299
+ table_one_mock .to_csv .assert_called_once_with (
300
+ tmpdir / 'synthetic_data' / 'table1.csv' , index = True , sep = ';' , mode = 'x'
301
+ )
302
+ table_two_mock .to_csv .assert_called_once_with (
303
+ tmpdir / 'synthetic_data' / 'table2.csv' , index = True , sep = ';' , mode = 'x'
304
+ )
305
+
291
306
292
307
class TestExcelHandler :
293
308
def test___init__ (self ):
0 commit comments