def testPopItemError(self): def watcher(item): return l = WatchedDict() l.watch(watcher) self.assertRaises(KeyError, l.popitem)
def testPopError2(self): def watcher(item): return l = WatchedDict() l.watch(watcher) self.assertRaises(TypeError, l.pop, 1, 2, 3)
def testDeleteError(self): def watcher(item): return l = WatchedDict() l.watch(watcher) self.assertRaises(KeyError, l.__delitem__, 1)
def testSetitem(self): def watcher(item): assert item == (1, 'test') l = WatchedDict() l.watch(watcher) l[1] = 'test'
def testPopError3(self): def watcher(item): assert item == (1, 'default') l = WatchedDict() l.watch(watcher) l.pop(1, 'default')
def testUnwatch(self): def watcher(item): return l = WatchedDict() watcher_proc_id = l.watch(watcher) l.unwatch(watcher_proc_id) assert watcher_proc_id not in l.watch_procs
def testDelitems(self): def watcher(item): assert item == (1, 'test') l = WatchedDict() l[1] = 'test' l.watch(watcher) l.__delitem__(1)
def testUpdate(self): def watcher(item): assert l['a'] == 11 assert l['d'] == 4 assert l['e'] == 5 l = WatchedDict() l['a'] = 1 l['b'] = 2 l['c'] = 3 d = {'a': 11, 'd': 4} l.watch(watcher) l.update(d, e=5)