| 111 | self.assertRaises(AttributeError, delattr, obj, "eggs") |
| 112 | |
| 113 | def test_cache(self): |
| 114 | |
| 115 | class Spam(Driver): |
| 116 | |
| 117 | _eggs = {'answer': 42} |
| 118 | |
| 119 | @DictFeat() |
| 120 | def eggs(self_, key): |
| 121 | return self_._eggs[key] |
| 122 | |
| 123 | @eggs.setter |
| 124 | def eggs(self_, key, value): |
| 125 | self_._eggs[key] = value |
| 126 | |
| 127 | obj = Spam() |
| 128 | self.assertEqual(obj.recall("eggs"), {}) |
| 129 | self.assertEqual(obj.eggs['answer'], 42) |
| 130 | # After reading 1 element, it is stored in the cache |
| 131 | self.assertEqual(obj.recall("eggs"), {'answer': 42}) |
| 132 | obj.eggs['answer'] = 46 |
| 133 | self.assertEqual(obj._eggs['answer'], 46) |
| 134 | self.assertEqual(obj.eggs['answer'], 46) |
| 135 | self.assertEqual(obj.recall("eggs"), {'answer': 46}) |
| 136 | obj._eggs['answer'] = 0 |
| 137 | self.assertEqual(obj.recall("eggs"), {'answer': 46}) |
| 138 | self.assertEqual(obj.eggs['answer'], 0) |
| 139 | self.assertEqual(obj.recall("eggs"), {'answer': 0}) |
| 140 | |
| 141 | def test_logger(self): |
| 142 | |