def test_dictkey(self): items = [ ("foo.bar", "123"), ("foo.baz", "no"), ] parsed = config.parse_types(items) self.assertEqual(parsed.foo.bar, 123) self.assertEqual(parsed.foo.baz, False) items = [ ("foo.bar", "123"), ("foo", "other") ] parsed = config.parse_types(items) self.assertEqual(parsed.foo, "other") items = [ ("foo.bar", "123"), ("foo.baz", "no"), ("foo", "other"), # resets the dict ("foo.bar", "321") ] parsed = config.parse_types(items) self.assertEqual(parsed.foo.bar, 321) self.assertFalse("baz" in parsed.foo)
def test_shallow_subsection(self): items = config.get_section(self.parser, "ACL/Rule A") c = config.parse_types(items) self.assertEqual(c.foo.bar, "ACL-Rule-A") self.assertEqual(c.foo.baz, "ACL-Default") items = config.get_section(self.parser, "ACL/Rule B") c = config.parse_types(items) self.assertEqual(c.foo.bar, "ACL-Default") self.assertEqual(c.foo.baz, "ACL-Rule-B")
def test_dictkey(self): items = [ ("foo.bar", "123"), ("foo.baz", "no"), ] parsed = config.parse_types(items) self.assertEqual(parsed.foo.bar, 123) self.assertEqual(parsed.foo.baz, False) items = [("foo.bar", "123"), ("foo", "other")] parsed = config.parse_types(items) self.assertEqual(parsed.foo, "other") items = [ ("foo.bar", "123"), ("foo.baz", "no"), ("foo", "other"), # resets the dict ("foo.bar", "321") ] parsed = config.parse_types(items) self.assertEqual(parsed.foo.bar, 321) self.assertFalse("baz" in parsed.foo)
def test_bool(self): items = [("foo", "true"), ("bar", "no")] parsed = config.parse_types(items) self.assertIs(parsed.foo, True) self.assertIs(parsed.bar, False)
def test_float(self): items = [("foo", "1.24"), ("bar", "invalid.float")] parsed = config.parse_types(items) self.assertAlmostEqual(parsed.foo, 1.24) self.assertEqual(parsed.bar, "invalid.float")
def test_int(self): items = [("foo", "12345"), ("bar", "0xff")] parsed = config.parse_types(items) self.assertEqual(parsed.foo, 12345) self.assertEqual(parsed.bar, 0xff)
def test_deep_subsection(self): items = config.get_section(self.parser, "Deep/Subsection/Without/Parents") c = config.parse_types(items) self.assertEqual(c.foo.bar, "Default") self.assertEqual(c.foo.baz, "Deep")
def test_no_subsection(self): items = config.get_section(self.parser, "ACL") c = config.parse_types(items) self.assertEqual(c.foo.bar, "Default") self.assertEqual(c.foo.baz, "ACL")