3.0.0 : Reconstructed Database System.
This commit is contained in:
59
database/L3/analyzer/test_basic_processor.py
Normal file
59
database/L3/analyzer/test_basic_processor.py
Normal file
@@ -0,0 +1,59 @@
|
||||
"""
|
||||
Test BasicProcessor implementation
|
||||
"""
|
||||
|
||||
import sqlite3
|
||||
import sys
|
||||
import os
|
||||
|
||||
# Add parent directory to path
|
||||
sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', '..'))
|
||||
|
||||
from database.L3.processors import BasicProcessor
|
||||
|
||||
def test_basic_processor():
|
||||
"""Test BasicProcessor on a real player from L2"""
|
||||
|
||||
# Connect to L2 database
|
||||
l2_path = os.path.join(os.path.dirname(__file__), '..', 'L2', 'L2.db')
|
||||
conn = sqlite3.connect(l2_path)
|
||||
|
||||
try:
|
||||
# Get a test player
|
||||
cursor = conn.cursor()
|
||||
cursor.execute("SELECT steam_id_64 FROM dim_players LIMIT 1")
|
||||
result = cursor.fetchone()
|
||||
|
||||
if not result:
|
||||
print("No players found in L2 database")
|
||||
return False
|
||||
|
||||
steam_id = result[0]
|
||||
print(f"Testing BasicProcessor for player: {steam_id}")
|
||||
|
||||
# Calculate features
|
||||
features = BasicProcessor.calculate(steam_id, conn)
|
||||
|
||||
print(f"\n✓ Calculated {len(features)} features")
|
||||
print(f"\nSample features:")
|
||||
print(f" core_avg_rating: {features.get('core_avg_rating', 0)}")
|
||||
print(f" core_avg_kd: {features.get('core_avg_kd', 0)}")
|
||||
print(f" core_total_kills: {features.get('core_total_kills', 0)}")
|
||||
print(f" core_win_rate: {features.get('core_win_rate', 0)}")
|
||||
print(f" core_top_weapon: {features.get('core_top_weapon', 'unknown')}")
|
||||
|
||||
# Verify we have all 41 features
|
||||
expected_count = 41
|
||||
if len(features) == expected_count:
|
||||
print(f"\n✓ Feature count correct: {expected_count}")
|
||||
return True
|
||||
else:
|
||||
print(f"\n✗ Feature count mismatch: expected {expected_count}, got {len(features)}")
|
||||
return False
|
||||
|
||||
finally:
|
||||
conn.close()
|
||||
|
||||
if __name__ == "__main__":
|
||||
success = test_basic_processor()
|
||||
sys.exit(0 if success else 1)
|
||||
Reference in New Issue
Block a user