#!/usr/bin/env python3
"""
Test script for the card recommender
Tests the core logic without Streamlit UI
"""

from recommender import ConversationSession

def print_separator():
    print("\n" + "="*60 + "\n")

def test_conversation():
    """Test various conversation scenarios"""
    
    # Test 1: Cashback seeker
    print("TEST 1: Cashback Card Seeker")
    print_separator()
    session = ConversationSession()
    
    print("User: I want a cashback card")
    response = session.process_message("I want a cashback card")
    print(f"Bot: {response}")
    print_separator()
    
    print("User: 90000")
    response = session.process_message("90000")
    print(f"Bot: {response}")
    print_separator()
    
    # Test 2: Travel enthusiast
    print("\nTEST 2: Travel Enthusiast")
    print_separator()
    session = ConversationSession()
    
    print("User: I travel a lot internationally")
    response = session.process_message("I travel a lot internationally")
    print(f"Bot: {response}")
    print_separator()
    
    print("User: 2.5L")
    response = session.process_message("2.5L")
    print(f"Bot: {response}")
    print_separator()
    
    # Test 3: Unknown goal
    print("\nTEST 3: Generic Query")
    print_separator()
    session = ConversationSession()
    
    print("User: best card for me")
    response = session.process_message("best card for me")
    print(f"Bot: {response}")
    print_separator()
    
    print("User: cashback")
    response = session.process_message("cashback")
    print(f"Bot: {response}")
    print_separator()
    
    print("User: 150000")
    response = session.process_message("150000")
    print(f"Bot: {response}")
    print_separator()
    
    # Test 4: Tata ecosystem
    print("\nTEST 4: Tata Ecosystem User")
    print_separator()
    session = ConversationSession()
    
    print("User: I shop a lot on Tata Neu")
    response = session.process_message("I shop a lot on Tata Neu")
    print(f"Bot: {response}")
    print_separator()
    
    print("User: 80000")
    response = session.process_message("80000")
    print(f"Bot: {response}")
    print_separator()
    
    # Test 5: Reset
    print("\nTEST 5: Reset Functionality")
    print_separator()
    session = ConversationSession()
    
    print("User: hello")
    response = session.process_message("hello")
    print(f"Bot: {response}")
    print_separator()
    
    print("User: reset")
    response = session.process_message("reset")
    print(f"Bot: {response}")
    print_separator()
    
    print("User: I want travel card")
    response = session.process_message("I want travel card")
    print(f"Bot: {response}")
    print_separator()

if __name__ == "__main__":
    print("\n" + "="*60)
    print(" CREDIT CARD CHATBOT - LOGIC TEST ")
    print("="*60 + "\n")
    
    test_conversation()
    
    print("\n" + "="*60)
    print(" ALL TESTS COMPLETED ")
    print("="*60 + "\n")
    
    print("Core logic is working correctly!")
    print("Ready to deploy with Streamlit UI")

