class MonitorCategorizableTest(test.TestCase): def setUp(self): self.monitor = ChangeMonitor() self.monitor.monitorClass(CategorizableCompositeObject) self.obj = CategorizableCompositeObject(subject=u'Object') self.list = ObservableList() self.monitor.monitorCollection(self.list) self.list.append(self.obj) self.cat1 = Category(subject=u'Cat #1') self.cat2 = Category(subject=u'Cat #2') self.catList = ObservableList() self.catList.append(self.cat1) self.catList.append(self.cat2) def tearDown(self): self.monitor.unmonitorClass(CategorizableCompositeObject) self.monitor.unmonitorCollection(self.list) def testAddCategory(self): self.monitor.resetAllChanges() self.obj.addCategory(self.cat1) self.assertEqual(self.monitor.getChanges(self.obj), set(['__add_category:%s' % self.cat1.id()])) def testRemoveCategory(self): self.obj.addCategory(self.cat1) self.monitor.resetAllChanges() self.obj.removeCategory(self.cat1) self.assertEqual(self.monitor.getChanges(self.obj), set(['__del_category:%s' % self.cat1.id()])) def testRemoveBadCategory(self): self.obj.addCategory(self.cat1) self.monitor.resetAllChanges() self.obj.removeCategory(self.cat2) self.assertEqual(self.monitor.getChanges(self.obj), set())