def test_get_nested_key_keyerror(self): """Test that `get_nested_key()` raises `KeyError`.""" with self.assertRaises(KeyError): get_nested_key({}, 'a') with self.assertRaises(KeyError): get_nested_key({'a': 1}, 'b') with self.assertRaises(KeyError): get_nested_key({'a': {'b': 1}}, 'c') with self.assertRaises(KeyError): get_nested_key({'a': {'b': 1}}, 'a.c') # And once more with a key that's more nested than the dict with self.assertRaises(KeyError): get_nested_key({'a': {'b': 1}}, 'a.b.c')
def test_get_nested_key(self): """Test the `get_nested_key()` method.""" expected = 1 actual = get_nested_key({'a': 1}, 'a') self.assertEqual(actual, expected) expected = 1 actual = get_nested_key({'a': 1, 'b': 2}, 'a') self.assertEqual(actual, expected) expected = 1 actual = get_nested_key({'a': {'b': 1}}, 'a.b') self.assertEqual(actual, expected) expected = 1 actual = get_nested_key({'a': {'b': 1, 'c': 2}, 'd': 3}, 'a.b') self.assertEqual(actual, expected) expected = 1 actual = get_nested_key({'a': {'b': {'c': {'d': 1}}}}, 'a.b.c.d') self.assertEqual(actual, expected)