tests/test_configparser.py
changeset 3 cc27136cdead
child 4 fdaa7dc9035e
equal deleted inserted replaced
2:d3ffa15f5886 3:cc27136cdead
       
     1 #!/usr/bin/env python3
       
     2 
       
     3 from pycolib.configparser import ConfigParser, ConfigParserError
       
     4 
       
     5 import unittest
       
     6 import os.path
       
     7 
       
     8 
       
     9 class TestConfigParser(unittest.TestCase):
       
    10 
       
    11     def setUp(self):
       
    12         self.config = ConfigParser()
       
    13         self.config.add_argument('arg_str')
       
    14         self.config.add_argument('arg_int', int, 1)
       
    15         script_path = os.path.dirname(os.path.realpath(__file__))
       
    16         self.data_path = os.path.join(script_path, 'data')
       
    17 
       
    18     def test_add_argument(self):
       
    19         name = 'argname'
       
    20         self.config.add_argument(name, int, 1)
       
    21         self.assertEqual(self.config.registered_args[name]['type'], int)
       
    22         self.assertEqual(self.config.registered_args[name]['default'], 1)
       
    23         self.assertEqual(self.config.args[name], 1)
       
    24 
       
    25     def test_load_badname(self):
       
    26         self.assertRaises(IOError, self.config.load, 'bad/file_name')
       
    27 
       
    28     def test_load_badargs(self):
       
    29         fname = os.path.join(self.data_path, 'test_badargs.conf')
       
    30         self.assertRaises(ConfigParserError, self.config.load, fname)
       
    31 
       
    32     def test_load_ok(self):
       
    33         fname = os.path.join(self.data_path, 'test_ok.conf')
       
    34         self.config.load(fname)
       
    35         self.assertEqual(self.config.arg_str, '1')
       
    36         self.assertEqual(self.config.arg_int, 2)
       
    37 
       
    38 
       
    39 if __name__ == '__main__':
       
    40     unittest.main()