def test_existing_bool(self): """Test if float variable given in config file is correctly returned""" config = RawConfigParser() configtext = """ [test] var1 = true """ config.read_string(configtext) var1 = config.getboolean("test", "var1") print(f"From RawConfigParser -> var1: {var1}") self.assertEqual(var1, True) wrap = ConfigWrapper( config, { "var1": { "default": "false", "description": "this is just a test for float var1" } }) var1 = wrap.getboolean("test", "var1") print(f"From ConfigWrapper -> var1: {var1}") self.assertIsInstance(var1, bool) self.assertEqual(var1, True)
def test_default_realbool(self): """ Test if default boolean variable is returned if given as bool Note: In the configuration file, a boolean has to be given as string, so the string should be converted to a boolean. For the wrapper a boolean value has to work as well. """ config = RawConfigParser() configtext = """ [test] """ config.read_string(configtext) with self.assertRaises(NoOptionError): _ = config.getboolean("test", "var1") wrap = ConfigWrapper( config, { "var1": { "default": False, "description": "this is just a test for integer var1" } }) var1 = wrap.getboolean("test", "var1") print(f"From ConfigWrapper -> var1: {var1}") self.assertIsInstance(var1, bool) self.assertEqual(var1, False)
def test_default_realfloat(self): """ Test if default float variable is returned if given as string Note: In the configuration file, a float can be given as string, so the string should be converted to a float. For the wrapper a string value has to work as well. """ config = RawConfigParser() configtext = """ [test] """ config.read_string(configtext) with self.assertRaises(NoOptionError): _ = config.getfloat("test", "var1") wrap = ConfigWrapper( config, { "var1": { "default": "1.1", "description": "this is just a test for float var1" } }) var1 = wrap.getfloat("test", "var1") print(f"From ConfigWrapper -> var1: {var1}") self.assertIsInstance(var1, float) self.assertEqual(var1, 1.1)
def test_existing_string(self): """Test if string variable given in config file is correctly returned""" config = RawConfigParser() configtext = """ [test] var1 = test """ config.read_string(configtext) var1 = config.get("test", "var1") print(f"From RawConfigParser -> var1: {var1}") self.assertEqual(var1, "test") wrap = ConfigWrapper( config, { "var1": { "default": "<undefined>", "description": "this is just a test for string var1" } }) var1 = wrap.get("test", "var1") print(f"From ConfigWrapper -> var1: {var1}") self.assertEqual(var1, "test") self.assertIsInstance(var1, str)
def test_nodefault_exception_string(self): """Test if undefined or value without default raises exception""" config = RawConfigParser() configtext = """ [test] """ config.read_string(configtext) with self.assertRaises(NoOptionError): _ = config.get("test", "var1") with self.assertRaises(NoOptionError): _ = config.get("test", "var2") wrap = ConfigWrapper( config, {"var1": { "description": "this is just a test for string var1" }}) with self.assertRaises(NoOptionError): _ = wrap.get("test", "var2") with self.assertRaises(NoOptionError): _ = wrap.get("test", "var1")
def test_manual_fallback_string(self): """Test if explicit fallback string has precedence""" config = RawConfigParser() configtext = """ [test] """ config.read_string(configtext) with self.assertRaises(NoOptionError): _ = config.get("test", "var1") wrap = ConfigWrapper( config, { "var1": { "default": "<undefined>", "description": "this is just a test for string var1" } }) var1 = wrap.get("test", "var1", fallback="{{manual}}") print(f"From ConfigWrapper -> var1: {var1}") self.assertEqual(var1, "{{manual}}") self.assertIsInstance(var1, str)
def test_manual_fallback_bool(self): """Test if explicit fallback bool has precedence""" config = RawConfigParser() configtext = """ [test] """ config.read_string(configtext) with self.assertRaises(NoOptionError): _ = config.getboolean("test", "var1") wrap = ConfigWrapper( config, { "var1": { "default": False, "description": "this is just a test for bool var1" } }) var1 = wrap.getfloat("test", "var1", fallback=True) print(f"From ConfigWrapper -> var1: {var1}") self.assertTrue(var1) self.assertIsInstance(var1, bool)
def test_default_string(self): """Test if default string variable is returned if variable not defined""" config = RawConfigParser() configtext = """ [test] """ config.read_string(configtext) with self.assertRaises(NoOptionError): _ = config.get("test", "var1") wrap = ConfigWrapper( config, { "var1": { "default": "<undefined>", "description": "this is just a test for string var1" } }) var1 = wrap.get("test", "var1") print(f"From ConfigWrapper -> var1: {var1}") self.assertEqual(var1, "<undefined>") self.assertIsInstance(var1, str)
def test_manual_fallback_float(self): """Test if explicit fallback float has precedence""" config = RawConfigParser() configtext = """ [test] """ config.read_string(configtext) with self.assertRaises(NoOptionError): _ = config.getfloat("test", "var1") wrap = ConfigWrapper( config, { "var1": { "default": -1.1, "description": "this is just a test for float var1" } }) var1 = wrap.getfloat("test", "var1", fallback=9.99) print(f"From ConfigWrapper -> var1: {var1}") self.assertEqual(var1, 9.99) self.assertIsInstance(var1, float)
def test_default_float(self): """Test if float variable given in config file is correctly returned""" config = RawConfigParser() configtext = """ [test] """ config.read_string(configtext) with self.assertRaises(NoOptionError): _ = config.getfloat("test", "var1") wrap = ConfigWrapper( config, { "var1": { "default": -1.1, "description": "this is just a test for integer var1" } }) var1 = wrap.getfloat("test", "var1") print(f"From ConfigWrapper -> var1: {var1}") self.assertIsInstance(var1, float) self.assertEqual(var1, -1.1)