|
16 | 16 | combine_results, |
17 | 17 | generate_results_json, |
18 | 18 | save_results_files, |
| 19 | + _add_metadata_to_dataframe, |
19 | 20 | ) |
20 | 21 |
|
21 | 22 |
|
@@ -330,25 +331,55 @@ def test_save_results_files(mocker): |
330 | 331 | assert os_m.called_once_with(path, exist_ok=True) |
331 | 332 |
|
332 | 333 | assert save_parquet_mock.call_args_list == [ |
333 | | - call(path, "default", "default_df"), |
334 | | - call(path, "step_counts", "step_counts_df"), |
| 334 | + call(path, "default", "default_df", params), |
| 335 | + call(path, "step_counts", "step_counts_df", params), |
335 | 336 | ] |
336 | 337 |
|
337 | 338 | assert save_params_mock.called_once_with(path, params) |
338 | 339 |
|
339 | 340 |
|
340 | | -def test_save_parquet_file(): |
| 341 | +def test_save_parquet_file(mocker): |
341 | 342 | # arrange |
342 | 343 | df = Mock() |
| 344 | + params = Mock() |
| 345 | + add_metadata_to_dataframe_mock = mocker.patch( |
| 346 | + "model.results._add_metadata_to_dataframe", return_value=df |
| 347 | + ) |
343 | 348 |
|
344 | 349 | # act |
345 | | - actual = _save_parquet_file("path", "file", df) |
| 350 | + actual = _save_parquet_file("path", "file", df, params) |
346 | 351 |
|
347 | 352 | # assert |
348 | 353 | assert actual == "path/file.parquet" |
| 354 | + add_metadata_to_dataframe_mock.assert_called_once_with(df, params) |
349 | 355 | df.to_parquet.assert_called_once_with(actual) |
350 | 356 |
|
351 | 357 |
|
| 358 | +def test_add_metadata_to_dataframe(mocker): |
| 359 | + # arrange |
| 360 | + df = pd.DataFrame({"one": [1], "two": [2]}) |
| 361 | + params = { |
| 362 | + "dataset": "dataset", |
| 363 | + "scenario": "scenario", |
| 364 | + "app_version": "app_version", |
| 365 | + "create_datetime": "create_datetime", |
| 366 | + } |
| 367 | + expected = { |
| 368 | + "one": [1], |
| 369 | + "two": [2], |
| 370 | + "dataset": ["dataset"], |
| 371 | + "app_version": ["app_version"], |
| 372 | + "scenario": ["scenario"], |
| 373 | + "create_datetime": ["create_datetime"], |
| 374 | + } |
| 375 | + |
| 376 | + # act |
| 377 | + actual = _add_metadata_to_dataframe(df, params) |
| 378 | + |
| 379 | + # assert |
| 380 | + assert actual.to_dict("list") == expected |
| 381 | + |
| 382 | + |
352 | 383 | def test_save_params_file(mocker): |
353 | 384 | # arrange |
354 | 385 | j_mock = mocker.patch("json.dump") |
|
0 commit comments