(self)
| 1974 | return instance |
| 1975 | |
| 1976 | def test_converters(self): |
| 1977 | cfg = self.newconfig() |
| 1978 | self.assertIn('boolean', cfg.converters) |
| 1979 | self.assertIn('list', cfg.converters) |
| 1980 | self.assertIsNone(cfg.converters['int']) |
| 1981 | self.assertIsNone(cfg.converters['float']) |
| 1982 | self.assertIsNone(cfg.converters['boolean']) |
| 1983 | self.assertIsNotNone(cfg.converters['list']) |
| 1984 | self.assertEqual(len(cfg.converters), 4) |
| 1985 | with self.assertRaises(ValueError): |
| 1986 | cfg.converters[''] = lambda v: v |
| 1987 | with self.assertRaises(ValueError): |
| 1988 | cfg.converters[None] = lambda v: v |
| 1989 | cfg.read_string(""" |
| 1990 | [s] |
| 1991 | str = string |
| 1992 | int = 1 |
| 1993 | float = 0.5 |
| 1994 | list = a b c d e f g |
| 1995 | bool = yes |
| 1996 | """) |
| 1997 | s = cfg['s'] |
| 1998 | self.assertEqual(s['str'], 'string') |
| 1999 | self.assertEqual(s['int'], '1') |
| 2000 | self.assertEqual(s['float'], '0.5') |
| 2001 | self.assertEqual(s['list'], 'a b c d e f g') |
| 2002 | self.assertEqual(s['bool'], 'yes') |
| 2003 | self.assertEqual(cfg.get('s', 'str'), 'string') |
| 2004 | self.assertEqual(cfg.get('s', 'int'), '1') |
| 2005 | self.assertEqual(cfg.get('s', 'float'), '0.5') |
| 2006 | self.assertEqual(cfg.get('s', 'list'), 'a b c d e f g') |
| 2007 | self.assertEqual(cfg.get('s', 'bool'), 'yes') |
| 2008 | self.assertEqual(cfg.get('s', 'str'), 'string') |
| 2009 | self.assertEqual(cfg.getint('s', 'int'), 1) |
| 2010 | self.assertEqual(cfg.getfloat('s', 'float'), 0.5) |
| 2011 | self.assertEqual(cfg.getlist('s', 'list'), ['a', 'b', 'c', 'd', |
| 2012 | 'e', 'f', 'g']) |
| 2013 | self.assertEqual(cfg.getboolean('s', 'bool'), True) |
| 2014 | self.assertEqual(s.get('str'), 'string') |
| 2015 | self.assertEqual(s.getint('int'), 1) |
| 2016 | self.assertEqual(s.getfloat('float'), 0.5) |
| 2017 | self.assertEqual(s.getlist('list'), ['a', 'b', 'c', 'd', |
| 2018 | 'e', 'f', 'g']) |
| 2019 | self.assertEqual(s.getboolean('bool'), True) |
| 2020 | with self.assertRaises(AttributeError): |
| 2021 | cfg.getdecimal('s', 'float') |
| 2022 | with self.assertRaises(AttributeError): |
| 2023 | s.getdecimal('float') |
| 2024 | import decimal |
| 2025 | cfg.converters['decimal'] = decimal.Decimal |
| 2026 | self.assertIn('decimal', cfg.converters) |
| 2027 | self.assertIsNotNone(cfg.converters['decimal']) |
| 2028 | self.assertEqual(len(cfg.converters), 5) |
| 2029 | dec0_5 = decimal.Decimal('0.5') |
| 2030 | self.assertEqual(cfg.getdecimal('s', 'float'), dec0_5) |
| 2031 | self.assertEqual(s.getdecimal('float'), dec0_5) |
| 2032 | del cfg.converters['decimal'] |
| 2033 | self.assertNotIn('decimal', cfg.converters) |
nothing calls this directly
no test coverage detected