| 196 | obj.eggs['answer'] = 42 |
| 197 | |
| 198 | def test_keys(self): |
| 199 | |
| 200 | class Spam(Driver): |
| 201 | _eggs = {'answer': 42} |
| 202 | |
| 203 | @DictFeat(keys=('answer', )) |
| 204 | def eggs(self_, key): |
| 205 | return self_._eggs[key] |
| 206 | |
| 207 | @eggs.setter |
| 208 | def eggs(self_, key, value): |
| 209 | self_._eggs[key] = value |
| 210 | |
| 211 | obj = Spam() |
| 212 | self.assertEqual(obj.eggs['answer'], 42) |
| 213 | obj.eggs['answer'] = 46 |
| 214 | self.assertEqual(obj.eggs['answer'], 46) |
| 215 | self.assertRaises(KeyError, lambda x: obj.eggs['spam'], None) |
| 216 | |
| 217 | def test(x): |
| 218 | x.eggs['spam'] = 1 |
| 219 | self.assertRaises(KeyError, test, obj) |
| 220 | |
| 221 | def test_keys_mapping(self): |
| 222 | |