class SettingsManager(object): ''' SettingsManager class manage configuration file, reading and writing settings ''' def __init__(self, fileName): "Initialize all the variables use to manage settings of the configuration file" self.settings = Settings(fileName) self.fileName = fileName def load(self): ''' Settings are read of the configuration file given a file_name ''' reader = SettingsReader() try: self.settings = reader.read(self.fileName) except FileNotFoundException: self.settings.createDefaultSettings() self.save() def save(self): ''' Settings are save\wrote in the configuration file ''' writer = SettingsWriter() writer.write(self.settings, self.fileName) def getSettings(self): ''' return settings of the configuration file ''' return self.settings
def test_the_create_default_settings_should_set_default_value_for_output_type(self): settings = Settings("") settings.createDefaultSettings() self.assertEqual(settings.DEFAULT_OUTPUT_TYPE, settings.getOutputType()) self.assertEqual(settings.DEFAULT_ALGORITHM_NAME, settings.getAlgorithmName()) self.assertEqual(settings.DEFAULT_LEVEL_NAME, settings.getDefaultLevel()) self.assertEqual(3, len(settings.getLevels())) self.assertEqual(self.defaultLevel, settings.getLevels()[0])