#!/usr/bin/env python3
"""Test script for Gemini viseme generation - v2."""
import sys
sys.path.insert(0, '.')

from pathlib import Path
from src.gemini_client import generate_viseme_image
from src.config import VISEME_SET


def test_viseme_generation():
    """Test generating a single viseme image."""
    test_image = Path("uploads/test_cartoon_face.png")

    if not test_image.exists():
        print("Test image not found. Run test_image_analysis.py first.")
        return False

    # Test with viseme 'A' (open mouth)
    viseme = "A"
    description = VISEME_SET[viseme]
    output_path = Path(f"output/test_viseme_{viseme}.png")

    print(f"\nGenerating viseme '{viseme}': {description}")
    print("This may take a moment...")

    try:
        result_path = generate_viseme_image(
            original_image_path=test_image,
            viseme=viseme,
            viseme_description=description,
            output_path=output_path
        )
        print(f"✓ Generated: {result_path}")
        return True
    except Exception as e:
        print(f"✗ Error: {e}")
        return False


if __name__ == "__main__":
    print("="*50)
    print("Testing Gemini Viseme Generation (Nano Banana)")
    print("="*50)

    success = test_viseme_generation()
    print(f"\n{'✓ Test passed!' if success else '✗ Test failed!'}")
