chat: implemented special version of 'latest_message()' for the ChatDB class
This commit is contained in:
@@ -84,6 +84,13 @@ class TestChat(unittest.TestCase):
|
||||
self.chat.remove_messages(['0003.txt'])
|
||||
self.assertListEqual(self.chat.messages, [self.message1, self.message2])
|
||||
|
||||
def test_latest_message(self) -> None:
|
||||
self.assertIsNone(self.chat.latest_message())
|
||||
self.chat.add_messages([self.message1])
|
||||
self.assertEqual(self.chat.latest_message(), self.message1)
|
||||
self.chat.add_messages([self.message2])
|
||||
self.assertEqual(self.chat.latest_message(), self.message2)
|
||||
|
||||
@patch('sys.stdout', new_callable=StringIO)
|
||||
def test_print(self, mock_stdout: StringIO) -> None:
|
||||
self.chat.add_messages([self.message1, self.message2])
|
||||
@@ -474,3 +481,23 @@ class TestChatDB(unittest.TestCase):
|
||||
answer=Answer("Answer 1"))
|
||||
with self.assertRaises(ChatError):
|
||||
chat_db.update_messages([message1])
|
||||
|
||||
def test_chat_db_latest_message(self) -> None:
|
||||
chat_db = ChatDB.from_dir(pathlib.Path(self.cache_path.name),
|
||||
pathlib.Path(self.db_path.name))
|
||||
self.assertEqual(chat_db.latest_message(source='mem'), self.message4)
|
||||
self.assertEqual(chat_db.latest_message(source='db'), self.message4)
|
||||
self.assertEqual(chat_db.latest_message(source='disk'), self.message4)
|
||||
self.assertEqual(chat_db.latest_message(source='all'), self.message4)
|
||||
# the cache is currently empty:
|
||||
self.assertIsNone(chat_db.latest_message(source='cache'))
|
||||
# add new messages to the cache dir
|
||||
new_message = Message(question=Question("New Question"),
|
||||
answer=Answer("New Answer"))
|
||||
chat_db.add_to_cache([new_message])
|
||||
self.assertEqual(chat_db.latest_message(source='cache'), new_message)
|
||||
self.assertEqual(chat_db.latest_message(source='mem'), new_message)
|
||||
self.assertEqual(chat_db.latest_message(source='disk'), new_message)
|
||||
self.assertEqual(chat_db.latest_message(source='all'), new_message)
|
||||
# the DB does not contain the new message
|
||||
self.assertEqual(chat_db.latest_message(source='db'), self.message4)
|
||||
|
||||
Reference in New Issue
Block a user