#!/usr/bin/env python3
"""
测试MM6品牌提取逻辑
"""

import sys
import os
sys.path.append(os.path.join(os.path.dirname(__file__), 'backend'))

from app.utils.text_parser import BrandExtractor

def test_mm6_extraction():
    """测试MM6品牌提取"""
    
    extractor = BrandExtractor()
    
    test_cases = [
        # MM6相关的各种形式
        ("MM6 Maison Margiela 女款黑色连衣裙", "MM6"),
        ("Maison Margiela MM6 白色运动鞋", "MM6"),
        ("MM6 黑色手提包", "MM6"),
        ("女款 MM6 MAISON MARGIELA 连帽卫衣", "MM6"),
        ("Maison Margiela MM6", "MM6"),
        ("mm6 maison margiela 小写测试", "MM6"),
        ("MM6", "MM6"),
        
        # 确保不会误判其他品牌
        ("Maison Margiela 女款黑色连衣裙", None),  # 只有Maison Margiela没有MM6
        ("Vince 女款连衣裙", "Vince"),
        ("Kenzo 老虎头T恤", "Kenzo"),
        ("Alexander Wang 手提包", "Alexander Wang"),
        
        # 混合测试
        ("【现货】MM6 Maison Margiela 2024春夏新款", "MM6"),
        ("Maison Margiela MM6 x Salomon联名运动鞋", "MM6"),
    ]
    
    print("=" * 60)
    print("MM6品牌提取测试")
    print("=" * 60)
    
    passed = 0
    failed = 0
    
    for product_name, expected in test_cases:
        result = extractor.extract_brand(product_name)
        is_pass = result == expected
        
        if is_pass:
            passed += 1
            status = "✅"
        else:
            failed += 1
            status = "❌"
        
        print(f"{status} 输入: {product_name}")
        print(f"   期望: {expected}")
        print(f"   结果: {result}")
        print()
    
    print("=" * 60)
    print(f"测试结果: {passed} 通过, {failed} 失败")
    
    if failed == 0:
        print("✅ 所有测试通过！MM6品牌提取逻辑正确。")
    else:
        print("❌ 存在测试失败，需要检查逻辑。")
    print("=" * 60)

if __name__ == "__main__":
    test_mm6_extraction()