Tests
conv = Conversation('Tu es un assistant.')
assert conv.nb_messages() == 1, 'Apres init, il doit y avoir 1 message (system)'
assert conv.get_messages()[0] == {'role': 'system', 'content': 'Tu es un assistant.'}, 'Le premier message doit etre le system prompt'
conv.ajouter_user('Bonjour')
assert conv.nb_messages() == 2, 'Apres ajouter_user, il doit y avoir 2 messages'
assert conv.get_messages()[-1] == {'role': 'user', 'content': 'Bonjour'}, 'Le dernier message doit etre celui de user'
conv.ajouter_assistant('Salut!')
assert conv.nb_messages() == 3, 'Apres ajouter_assistant, il doit y avoir 3 messages'
assert conv.get_messages()[-1]['role'] == 'assistant', 'Le dernier role doit etre assistant'
conv.ajouter_user('Ca va ?')
conv.ajouter_assistant('Oui, merci!')
assert conv.nb_messages() == 5, 'Apres 2 echanges, il doit y avoir 5 messages'
msgs = conv.get_messages()
roles = [m['role'] for m in msgs]
assert roles == ['system', 'user', 'assistant', 'user', 'assistant'], 'Les roles doivent alterner correctement'