def test_document_creation_with_single_tag(self): scope = Scope(database=self._database) scope.add_tag(2) self.assertEqual(scope.get_concept_tag_ids(), [2]) self.assertEqual(set(scope.get_selection_tag_ids()), {1, 2, 3, 4, 5, 6}) self.assertEqual(set(scope.get_selection_only_tag_ids()), {1, 3, 4, 5, 6}) document = scope.create_document('main.py', 'python', '/tmp/main.py') self.assertEqual(set(scope.get_concept_document_ids()), {1, 4, 5, document.id}) self.assertEqual(scope.get_concept_tag_ids(), [2]) self.assertEqual(scope.get_selection_document_ids(), []) self.assertEqual(set(scope.get_selection_tag_ids()), {1, 2, 3, 4, 5, 6}) self.assertEqual(set(scope.get_concept_only_document_ids()), {1, 4, 5, document.id}) self.assertEqual(set(scope.get_selection_only_tag_ids()), {1, 3, 4, 5, 6}) scope.select_document(document.id) self.assertEqual(set(scope.get_concept_document_ids()), {1, 4, 5, document.id}) self.assertEqual(scope.get_concept_tag_ids(), [2]) self.assertEqual(scope.get_selection_document_ids(), [document.id]) self.assertEqual(scope.get_selection_tag_ids(), [2]) self.assertEqual(set(scope.get_concept_only_document_ids()), {1, 4, 5}) self.assertEqual(scope.get_selection_only_tag_ids(), []) scope.deselect_document(document.id) self.assertEqual(set(scope.get_concept_document_ids()), {1, 4, 5, document.id}) self.assertEqual(scope.get_concept_tag_ids(), [2]) self.assertEqual(scope.get_selection_document_ids(), []) self.assertEqual(set(scope.get_selection_tag_ids()), {1, 2, 3, 4, 5, 6}) self.assertEqual(set(scope.get_concept_only_document_ids()), {1, 4, 5, document.id}) self.assertEqual(set(scope.get_selection_only_tag_ids()), {1, 3, 4, 5, 6}) scope.remove_tag(2) self.assertEqual(set(scope.get_concept_document_ids()), {1, 2, 3, 4, 5, 6, 7, 8, document.id}) self.assertEqual(scope.get_concept_tag_ids(), []) self.assertEqual(scope.get_selection_document_ids(), []) self.assertEqual(set(scope.get_selection_tag_ids()), {1, 2, 3, 4, 5, 6}) self.assertEqual(set(scope.get_concept_only_document_ids()), {1, 2, 3, 4, 5, 6, 7, 8, document.id}) self.assertEqual(set(scope.get_selection_only_tag_ids()), {1, 2, 3, 4, 5, 6}) scope.select_document(document.id) self.assertEqual(set(scope.get_concept_document_ids()), {1, 2, 3, 4, 5, 6, 7, 8, document.id}) self.assertEqual(scope.get_concept_tag_ids(), []) self.assertEqual(scope.get_selection_document_ids(), [document.id]) self.assertEqual(scope.get_selection_tag_ids(), [2]) self.assertEqual(set(scope.get_concept_only_document_ids()), {1, 2, 3, 4, 5, 6, 7, 8}) self.assertEqual(scope.get_selection_only_tag_ids(), [2])
def test_document_creation_without_tags(self): scope = Scope(database=self._database) document = scope.create_document('main.c', 'c', '/tmp/main.c') scope.select_document(document.id) self.assertEqual(set(scope.get_concept_document_ids()), {1, 2, 3, 4, 5, 6, 7, 8, document.id}) self.assertEqual(scope.get_concept_tag_ids(), []) self.assertEqual(scope.get_selection_document_ids(), [document.id]) self.assertEqual(scope.get_selection_tag_ids(), []) self.assertEqual(set(scope.get_concept_only_document_ids()), {1, 2, 3, 4, 5, 6, 7, 8}) self.assertEqual(scope.get_selection_only_tag_ids(), [])
def test_document_creation_with_multiple_tags(self): scope = Scope(database=self._database) scope.add_tag(4) self.assertEqual(set(scope.get_concept_document_ids()), {3, 6}) self.assertEqual(scope.get_concept_tag_ids(), [4]) self.assertEqual(set(scope.get_selection_tag_ids()), {1, 2, 3, 4, 5, 6}) self.assertEqual(set(scope.get_selection_only_tag_ids()), {1, 2, 3, 5, 6}) scope.add_tag(1) self.assertEqual(scope.get_concept_document_ids(), [3]) self.assertEqual(set(scope.get_concept_tag_ids()), {1, 4}) self.assertEqual(set(scope.get_selection_tag_ids()), {1, 2, 3, 4, 5, 6}) self.assertEqual(set(scope.get_selection_only_tag_ids()), {2, 3, 5, 6}) scope.add_tag(2) self.assertEqual(scope.get_concept_document_ids(), []) self.assertEqual(set(scope.get_concept_tag_ids()), {1, 2, 4}) self.assertEqual(set(scope.get_selection_tag_ids()), {1, 2, 3, 4, 5, 6}) self.assertEqual(set(scope.get_selection_only_tag_ids()), {3, 5, 6}) document = scope.create_document('vm.pdf', 'pdf', '/tmp/vm.pdf') self.assertEqual(scope.get_concept_document_ids(), [document.id]) self.assertEqual(set(scope.get_concept_tag_ids()), {1, 2, 4}) self.assertEqual(scope.get_selection_document_ids(), []) self.assertEqual(set(scope.get_selection_tag_ids()), {1, 2, 3, 4, 5, 6}) self.assertEqual(scope.get_concept_only_document_ids(), [document.id]) self.assertEqual(set(scope.get_selection_only_tag_ids()), {3, 5, 6}) scope.select_document(document.id) self.assertEqual(scope.get_concept_document_ids(), [document.id]) self.assertEqual(set(scope.get_concept_tag_ids()), {1, 2, 4}) self.assertEqual(scope.get_selection_document_ids(), [document.id]) self.assertEqual(set(scope.get_selection_tag_ids()), {1, 2, 4}) self.assertEqual(scope.get_concept_only_document_ids(), []) self.assertEqual(scope.get_selection_only_tag_ids(), [])