def test_get_dict(self): d = { 'a': { 'x': 1, 'y': 2 }, 'b': {}, } b = ParseDict(d) self.assertEqual(b.get_dict('a'), {'x': 1, 'y': 2}) self.assertEqual(b.get_dict('b'), {}) self.assertEqual(b.get_dict('b', {'default': True}), {}) self.assertEqual(b.get_dict('c'), {}) self.assertEqual(b.get_dict('c', {'default': True}), {'default': True})
def test_get_dict_from_json(self): d = { 'a': '{"numbers": ["0", "1", "2", "3", "4"], "letters": ["a", "b", "c", "d", "e"]}', 'b': '["0", "1", "2", "3", "4"]', 'c': '{}', 'd': '[]', 'e': '', 'f': '{"invalid::json"}' } b = ParseDict(d) self.assertEqual( b.get_dict('a'), { 'numbers': ['0', '1', '2', '3', '4'], 'letters': ['a', 'b', 'c', 'd', 'e'] }) self.assertEqual(b.get_dict('b'), {}) self.assertEqual(b.get_dict('c'), {}) self.assertEqual(b.get_dict('c', {'default': True}), {}) self.assertEqual(b.get_dict('d', {'default': True}), {'default': True}) self.assertEqual(b.get_dict('e'), {}) self.assertEqual(b.get_dict('f'), {}) self.assertEqual(b.get_dict('g', {'default': True}), {'default': True})