diagram_ph/tests_notebook/test_r290_diagram.py

73 lines
2.2 KiB
Python

#!/usr/bin/env python3
"""
Script de test pour générer un diagramme PH R290
"""
import sys
import os
# Ajouter le répertoire courant pour importer les modules
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
try:
from app.core.refrigerant_loader import get_refrigerant
from app.services.diagram_generator import DiagramGenerator
print("=== GENERATION DIAGRAMME PH R290 ===")
# Test 1: Charger le réfrigérant R290
print("\n1. Chargement R290...")
refrigerant = get_refrigerant("R290")
if refrigerant:
print(f"R290 charge: {refrigerant.refrig_name}")
else:
print("Echec chargement R290")
sys.exit(1)
# Test 2: Créer le générateur de diagrammes
print("\n2. Creation generateur de diagrammes...")
diagram_gen = DiagramGenerator(refrigerant)
print("Generateur de diagrammes cree")
# Test 3: Générer le diagramme
print("\n3. Generation du diagramme...")
try:
fig = diagram_gen.plot_diagram(
p_min=0.1, # bar
p_max=20.0, # bar
h_min=-100, # kJ/kg
h_max=600, # kJ/kg
include_isotherms=True,
title="PH Diagram for R290 (Propane)"
)
print("Diagramme genere avec succes!")
# Test 4: Sauvegarder le diagramme
print("\n4. Sauvegarde du diagramme...")
fig.savefig("test_r290_diagram.png", dpi=100, bbox_inches='tight')
print("Diagramme sauvegarde dans: test_r290_diagram.png")
# Test 5: Exporter en base64
print("\n5. Export en base64...")
base64_image = diagram_gen.export_to_base64(fig)
print(f"Image base64 generee: {len(base64_image)} caracteres")
# Nettoyer
import matplotlib.pyplot as plt
plt.close(fig)
print("\n=== SUCCES ===")
print("Le diagramme R290 a ete genere avec succes!")
print("Fichier: test_r290_diagram.png")
except Exception as e:
print(f"ERREUR generation diagramme: {e}")
import traceback
traceback.print_exc()
sys.exit(1)
except Exception as e:
print(f"ERREUR generale: {e}")
import traceback
traceback.print_exc()
sys.exit(1)