File size: 2,253 Bytes
4c75d73
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/usr/bin/env python3
"""

Test script for private chat functionality

"""

import sys
import os

# Add the src directory to Python path
sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'src'))

def test_private_chat():
    try:
        # Import using absolute imports
        from src.core.game_engine import get_game_engine
        from src.facades.game_facade import GameFacade
        
        print("🧪 Testing Private Chat System...")
        
        # Get game instances
        facade = GameFacade()
        
        # Add test players
        player1_id = facade.join_game('TestPlayer1')
        player2_id = facade.join_game('TestPlayer2') 
        
        print(f"✅ Created players: {player1_id}, {player2_id}")
        
        # Test private message sending
        success = facade.send_private_message(player1_id, player2_id, 'Hello from Player 1!')
        print(f"📤 Private message sent: {success}")
        
        # Get private messages
        messages = facade.get_private_messages(player1_id, player2_id)
        print(f"📨 Private messages: {len(messages)} found")
        for msg in messages:
            print(f"  - {msg}")
        
        # Test NPC interaction
        npc_success = facade.send_private_message(player1_id, 'mailbox_npc', 'Hello NPC!')
        print(f"🤖 NPC message sent: {npc_success}")
        
        npc_messages = facade.get_private_messages(player1_id, 'mailbox_npc')
        print(f"🤖 NPC messages: {len(npc_messages)} found")
        for msg in npc_messages:
            print(f"  - {msg}")
        
        # Test public chat
        pub_success = facade.send_chat_message(player1_id, 'Hello everyone!')
        print(f"📢 Public message sent: {pub_success}")
        
        chat_history = facade.get_chat_history(5)
        print(f"📜 Recent chat: {len(chat_history)} messages")
        for msg in chat_history:
            print(f"  - {msg}")
        
        print("\n✅ Private chat test completed successfully!")
        
    except Exception as e:
        print(f"❌ Test failed: {e}")
        import traceback
        traceback.print_exc()

if __name__ == "__main__":
    test_private_chat()