| import json |
| import shutil |
| import tempfile |
| from pathlib import Path |
| from unittest import TestCase |
|
|
| import evaluate |
|
|
|
|
| result_dict = {"metric": 1.0, "model_name": "x"} |
|
|
| SAVE_EXTRA_KEYS = ["_timestamp", "_git_commit_hash", "_evaluate_version", "_python_version", "_interpreter_path"] |
|
|
|
|
| class TestSave(TestCase): |
| def setUp(self): |
| self.save_path = Path(tempfile.mkdtemp()) |
|
|
| def tearDown(self): |
| shutil.rmtree(self.save_path) |
|
|
| def test_save_to_folder(self): |
| file_path = evaluate.save(self.save_path, **result_dict) |
| with open(file_path, "r") as f: |
| loaded_result_dict = json.load(f) |
| for key in SAVE_EXTRA_KEYS: |
| _ = loaded_result_dict.pop(key) |
| self.assertDictEqual(result_dict, loaded_result_dict) |
|
|
| def test_save_to_folder_nested(self): |
| file_path = evaluate.save(self.save_path / "sub_dir1/sub_dir2", **result_dict) |
| with open(file_path, "r") as f: |
| loaded_result_dict = json.load(f) |
| for key in SAVE_EXTRA_KEYS: |
| _ = loaded_result_dict.pop(key) |
| self.assertDictEqual(result_dict, loaded_result_dict) |
|
|
| def test_save_to_file(self): |
| _ = evaluate.save(self.save_path / "test.json", **result_dict) |
| with open(self.save_path / "test.json", "r") as f: |
| loaded_result_dict = json.load(f) |
| for key in SAVE_EXTRA_KEYS: |
| _ = loaded_result_dict.pop(key) |
| self.assertDictEqual(result_dict, loaded_result_dict) |
|
|