def test_remove_relations_with_tag(self): context = Context() context.create_document(1, 'python.pdf', 'pdf', '/tmp/python.pdf') context.create_document(2, 'rust.pdf', 'pdf', '/tmp/rust.pdf') context.create_document(3, 'lua.pdf', 'pdf', '/tmp/lua.pdf') context.create_tag(1, 'book') context.create_relation(1, 1) context.create_relation(2, 1) context.create_relation(3, 1) context.destroy_tag(1) self.assertEqual(context.count_relations(), 0)
def test_create_relations(self): context = Context() context.create_document(1, 'python.pdf', 'pdf', '/tmp/python.pdf') context.create_document(2, 'rust.pdf', 'pdf', '/tmp/rust.pdf') context.create_document(3, 'lua.pdf', 'pdf', '/tmp/lua.pdf') context.create_tag(1, 'book') context.create_relation(1, 1) context.create_relation(2, 1) context.create_relation(3, 1) document_ids = context.find_document_ids([1]) self.assertEqual(document_ids, [1, 2, 3]) self.assertEqual(context.find_tag_ids([1]), [1]) self.assertEqual(context.find_tag_ids([2]), [1]) self.assertEqual(context.find_tag_ids([3]), [1])
def test_multiple_tags_and_documents(self): context = Context() context.create_document(1, 'python.pdf', 'pdf', '/tmp/python.pdf') context.create_document(2, 'tkinter.pdf', 'pdf', '/tmp/tkinter.pdf') context.create_document(3, 'lua.pdf', 'pdf', '/tmp/lua.pdf') context.create_document(4, 'index.py', 'py', '/tmp/index.py') context.create_tag(5, 'book') context.create_tag(6, 'python') context.create_relation(1, 5) context.create_relation(2, 5) context.create_relation(3, 5) context.create_relation(1, 6) context.create_relation(2, 6) context.create_relation(4, 6) self.assertEqual(context.count_relations(), 6) book_ids = context.find_document_ids([5]) self.assertEqual(book_ids, [1, 2, 3]) python_ids = context.find_document_ids([6]) self.assertEqual(python_ids, [1, 2, 4]) python_book_ids = context.find_document_ids([5, 6]) self.assertEqual(python_book_ids, [1, 2]) document_ids = context.find_document_ids([]) self.assertEqual(document_ids, [1, 2, 3, 4]) tag_ids = context.find_tag_ids([1, 2]) self.assertEqual(tag_ids, [5, 6]) tag_ids = context.find_tag_ids([1, 3]) self.assertEqual(tag_ids, [5]) tag_ids = context.find_tag_ids([3, 4]) self.assertEqual(tag_ids, [])
def test_create_relation_with_invalid_tag(self): context = Context() context.create_document(1, 'python.pdf', 'pdf', '/tmp/python.pdf') with self.assertRaises(ValueError): context.create_relation(1, 1)
def test_create_relation_with_invalid_document(self): context = Context() context.create_tag(1, 'book') with self.assertRaises(ValueError): context.create_relation(1, 1)