def test_toggle_document_selection(self): scope = Scope(database=self._database) toggle_items = [{ 'document_id': 1, 'tag_ids': [1, 2] }, { 'document_id': 2, 'tag_ids': [1] }, { 'document_id': 1, 'tag_ids': [1, 3] }, { 'document_id': 7, 'tag_ids': [3] }, { 'document_id': 8, 'tag_ids': [3] }, { 'document_id': 6, 'tag_ids': [] }, { 'document_id': 2, 'tag_ids': [] }, { 'document_id': 7, 'tag_ids': [5] }, { 'document_id': 8, 'tag_ids': [4, 5] }] for item in toggle_items: scope.toggle_document_selection(item['document_id']) selection_only_tags = scope.get_selection_only_tags() self.assertEqual(len(selection_only_tags), len(item['tag_ids'])) for tag in selection_only_tags: self.assertIn(tag.id, item['tag_ids'])
def test_invalid_toggle_document_selection(self): scope = Scope(database=self._database) with self.assertRaises(ValueError): _ = scope.toggle_document_selection(0) with self.assertRaises(ValueError): _ = scope.toggle_document_selection(9)