mirror of
https://github.com/Ladebeze66/llm_lab.git
synced 2025-12-13 10:46:50 +01:00
65 lines
2.5 KiB
Python
65 lines
2.5 KiB
Python
import unittest
|
|
import os
|
|
import sys
|
|
import json
|
|
from datetime import datetime
|
|
from pathlib import Path
|
|
|
|
# Ajouter le répertoire parent au sys.path pour importer les modules
|
|
sys.path.append(str(Path(__file__).parent.parent))
|
|
|
|
from agents.base_agent import Agent
|
|
|
|
class TestAgent(unittest.TestCase):
|
|
"""Tests pour la classe Agent de base"""
|
|
|
|
def setUp(self):
|
|
"""Initialisation pour chaque test"""
|
|
self.agent = Agent(nom="TestAgent")
|
|
|
|
def test_initialisation(self):
|
|
"""Test de l'initialisation correcte de l'agent"""
|
|
self.assertEqual(self.agent.nom, "TestAgent")
|
|
self.assertEqual(len(self.agent.historique), 0)
|
|
|
|
def test_ajouter_historique(self):
|
|
"""Test de l'ajout d'entrées dans l'historique"""
|
|
self.agent.ajouter_historique("test_action", "données d'entrée", "données de sortie")
|
|
|
|
self.assertEqual(len(self.agent.historique), 1)
|
|
entry = self.agent.historique[0]
|
|
|
|
self.assertEqual(entry["action"], "test_action")
|
|
self.assertEqual(entry["input"], "données d'entrée")
|
|
self.assertEqual(entry["output"], "données de sortie")
|
|
self.assertTrue("timestamp" in entry)
|
|
|
|
def test_obtenir_historique(self):
|
|
"""Test de la récupération de l'historique"""
|
|
# Ajouter plusieurs entrées
|
|
self.agent.ajouter_historique("action1", "entrée1", "sortie1")
|
|
self.agent.ajouter_historique("action2", "entrée2", "sortie2")
|
|
|
|
historique = self.agent.obtenir_historique()
|
|
|
|
self.assertEqual(len(historique), 2)
|
|
self.assertEqual(historique[0]["action"], "action1")
|
|
self.assertEqual(historique[1]["action"], "action2")
|
|
|
|
def test_executer_not_implemented(self):
|
|
"""Test que la méthode executer lève une NotImplementedError"""
|
|
with self.assertRaises(NotImplementedError):
|
|
self.agent.executer()
|
|
|
|
def test_limite_taille_historique(self):
|
|
"""Test de la limite de taille dans l'historique"""
|
|
# Créer une entrée avec une chaîne très longue
|
|
longue_chaine = "x" * 1000
|
|
self.agent.ajouter_historique("test_limite", longue_chaine, longue_chaine)
|
|
|
|
entry = self.agent.historique[0]
|
|
self.assertEqual(len(entry["input"]), 500) # Limite à 500 caractères
|
|
self.assertEqual(len(entry["output"]), 500) # Limite à 500 caractères
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main() |