|
- import os
-
- import unittest
- import configparser
- import json
-
- from fastNLP.loader.config_loader import ConfigSection, ConfigLoader
- from fastNLP.saver.config_saver import ConfigSaver
-
-
- class TestConfigSaver(unittest.TestCase):
- def test_case_1(self):
- config_file_dir = "./test/loader/"
- config_file_name = "config"
- config_file_path = os.path.join(config_file_dir, config_file_name)
-
- tmp_config_file_path = os.path.join(config_file_dir, "tmp_config")
-
- with open(config_file_path, "r") as f:
- lines = f.readlines()
-
- standard_section = ConfigSection()
- t_section = ConfigSection()
- ConfigLoader(config_file_path).load_config(config_file_path, {"test": standard_section, "t": t_section})
-
- config_saver = ConfigSaver(config_file_path)
-
- section = ConfigSection()
- section["doubles"] = 0.8
- section["tt"] = 0.5
- section["test"] = 105
- section["str"] = "this is a str"
-
- test_case_2_section = section
- test_case_2_section["double"] = 0.5
-
- for k in section.__dict__.keys():
- standard_section[k] = section[k]
-
- config_saver.save_config_file("test", section)
- config_saver.save_config_file("another-test", section)
- config_saver.save_config_file("one-another-test", section)
- config_saver.save_config_file("test-case-2", section)
-
- test_section = ConfigSection()
- at_section = ConfigSection()
- another_test_section = ConfigSection()
- one_another_test_section = ConfigSection()
- a_test_case_2_section = ConfigSection()
-
- ConfigLoader(config_file_path).load_config(config_file_path, {"test": test_section,
- "another-test": another_test_section,
- "t": at_section,
- "one-another-test": one_another_test_section,
- "test-case-2": a_test_case_2_section})
-
- assert test_section == standard_section
- assert at_section == t_section
- assert another_test_section == section
- assert one_another_test_section == section
- assert a_test_case_2_section == test_case_2_section
-
- config_saver.save_config_file("test", section)
-
- with open(config_file_path, "w") as f:
- f.writelines(lines)
-
- with open(tmp_config_file_path, "w") as f:
- f.write('[test]\n')
- f.write('this is an fault example\n')
-
- tmp_config_saver = ConfigSaver(tmp_config_file_path)
- try:
- tmp_config_saver._read_section()
- except Exception as e:
- pass
- os.remove(tmp_config_file_path)
-
- try:
- tmp_config_saver = ConfigSaver("file-NOT-exist")
- except Exception as e:
- pass
|