§
    aù©jç  ã                   óN   — d Z ddlZddlmZmZmZ ddlmZmZ d„ Z	d„ Z
d„ Zd„ ZdS )	uÙ  
Unit Tests for GemManager & POE2 Item Categorization (Doc 63 SSoT)
==================================================================
Kiá»ƒm thá»­ cÃ¡c báº¥t biáº¿n:
- INV-NO-AUTO-EQUIP-IN-COMBAT: Quáº£n lÃ½ ká»¹ nÄƒng theo phÃ­m vÃ  Weapon Set, khÃ´ng tá»± Ã½ trÃ¡o Ä‘á»•i trong combat.
- LiÃªn káº¿t Support Gems: Tá»‘i Ä‘a 5 gems cho má»—i Active Skill.
- PhÃ¢n loáº¡i danh má»¥c váº­t pháº©m POE2: VÃ ng, Currency, Waystones, Uncut Gems, Runes, Soul Cores, Equipment.
é    N)Ú
GemManagerÚPoe2ActiveSkillLoadoutÚGemCategory)ÚPoe2ItemCategoryÚclassify_poe2_categoryc                  óœ  — t          d¬¦  «        } |                      d¦  «        }|€J ‚|j        dk    sJ ‚|j        dk    sJ ‚d|j        v sJ ‚d|j        v sJ ‚|                      d	¦  «        }|€J ‚|j        d
k    sJ ‚|                      d¦  «        }|€J ‚|j        dk    sJ ‚|                      d¦  «        }|€J ‚|j        dk    sJ ‚dS )uY   Kiá»ƒm tra cáº¥u hÃ¬nh máº·c Ä‘á»‹nh cá»§a Monk Martial Artist trong Báº£ng Ká»¹ NÄƒng G.ÚMONK_MARTIAL_ARTIST©Úbuild_archetypeÚQNúWhirling Assaulté   úMartial TempozFaster AttacksÚrmbzHollow FormÚRzHollow FocusÚTzTempest Bell)r   Úget_skill_by_keyÚnameÚ
weapon_setÚsupport_gems)ÚmanagerÚskill_qÚ	skill_rmbÚskill_rÚskill_ts        ú.C:\Projects\AutoPOE2\tests\test_gem_manager.pyÚ%test_gem_manager_default_monk_loadoutr      s   € åÐ)>Ð?Ñ?Ô?€Gð ×&Ò& sÑ+Ô+€GØÐÐÐØŒ<Ð-Ò-Ð-Ð-Ð-ØÔ Ò"Ð"Ð"Ð"Ø˜gÔ2Ð2Ð2Ð2Ð2Ø˜wÔ3Ð3Ð3Ð3Ð3à×(Ò(¨Ñ/Ô/€IØÐ Ð Ð ØŒ>˜]Ò*Ð*Ð*Ð*à×&Ò& sÑ+Ô+€GØÐÐÐØŒ<˜>Ò)Ð)Ð)Ð)à×&Ò& sÑ+Ô+€GØÐÐÐØŒ<˜>Ò)Ð)Ð)Ð)Ð)Ð)ó    c                  óð  — t          d¬¦  «        } |                      d¦  «        }t          |j        ¦  «        dk    sJ ‚|                      dd¦  «        du sJ ‚|                      dd¦  «        du sJ ‚|                      dd	¦  «        du sJ ‚t          |j        ¦  «        d
k    sJ ‚|                      dd¦  «        du sJ ‚t          |j        ¦  «        d
k    sJ ‚|                      dd¦  «        du sJ ‚dS )uN   Kiá»ƒm tra giá»›i háº¡n gáº¯n tá»‘i Ä‘a 5 Support Gems cho má»—i Active Skill.r	   r
   r   é   r   zBrutality SupportTzMelee Physical DamagezIncreased Critical Strikesé   zOvercharge SupportFr   N)r   r   Úlenr   Úlink_support_gem)r   r   s     r   Ú*test_gem_manager_support_gem_linking_limitr$   ,   s8  € åÐ)>Ð?Ñ?Ô?€GØ×&Ò& sÑ+Ô+€GÝˆwÔ#Ñ$Ô$¨Ò)Ð)Ð)Ð)ð ×#Ò#Ð$6Ð8KÑLÔLÐPTÐTÐTÐTÐTØ×#Ò#Ð$6Ð8OÑPÔPÐTXÐXÐXÐXÐXØ×#Ò#Ð$6Ð8TÑUÔUÐY]Ð]Ð]Ð]Ð]ÝˆwÔ#Ñ$Ô$¨Ò)Ð)Ð)Ð)ð ×#Ò#Ð$6Ð8LÑMÔMÐQVÐVÐVÐVÐVÝˆwÔ#Ñ$Ô$¨Ò)Ð)Ð)Ð)ð ×#Ò#Ð$6¸ÑHÔHÈEÐQÐQÐQÐQÐQÐQr   c                  óv  — t          d¬¦  «        } |                      t          dddd¬¦  «        ¦  «         |                      dd	¬
¦  «        du sJ ‚|                      dd¬
¦  «        du sJ ‚|                      dd¬
¦  «        du sJ ‚|                      dd	¬
¦  «        du sJ ‚|                      d	¦  «        }t          d„ |D ¦   «         ¦  «        sJ ‚t          d„ |D ¦   «         ¦  «        rJ ‚|                      d¦  «        }t          d„ |D ¦   «         ¦  «        sJ ‚t          d„ |D ¦   «         ¦  «        rJ ‚dS )uN   Kiá»ƒm tra tÃ­nh tÆ°Æ¡ng thÃ­ch giá»¯a Ká»¹ nÄƒng vÃ  Weapon Set (1 hoáº·c 2).r	   r
   ú
Frost WallÚWr    ÚPRIMER)r   Úkey_bindingr   Úroler   r   )Úcurrent_weapon_setTFc              3   ó,   K  — | ]}|j         d k    V — ŒdS ©r   N©r   ©Ú.0Úss     r   ú	<genexpr>z<test_gem_manager_weapon_set_compatibility.<locals>.<genexpr>S   s*   è è € ÐAÐA°ˆqŒvÐ+Ò+ÐAÐAÐAÐAÐAÐAr   c              3   ó,   K  — | ]}|j         d k    V — ŒdS ©r&   Nr.   r/   s     r   r2   z<test_gem_manager_weapon_set_compatibility.<locals>.<genexpr>T   s)   è è € Ð?Ð?¨a�1”6˜\Ò)Ð?Ð?Ð?Ð?Ð?Ð?r   c              3   ó,   K  — | ]}|j         d k    V — ŒdS r4   r.   r/   s     r   r2   z<test_gem_manager_weapon_set_compatibility.<locals>.<genexpr>W   s)   è è € Ð;Ð;¨!ˆqŒv˜Ò%Ð;Ð;Ð;Ð;Ð;Ð;r   c              3   ó,   K  — | ]}|j         d k    V — ŒdS r-   r.   r/   s     r   r2   z<test_gem_manager_weapon_set_compatibility.<locals>.<genexpr>X   s*   è è € ÐEÐE°A�1”6Ð/Ò/ÐEÐEÐEÐEÐEÐEr   N)r   Úbind_active_skillr   Úis_skill_availableÚget_skills_for_weapon_setÚany)r   Úskills_set1Úskills_set2s      r   Ú)test_gem_manager_weapon_set_compatibilityr=   @   sš  € åÐ)>Ð?Ñ?Ô?€Gð ×ÒÕ4Ø s°q¸xðñ ô ñ ô ð ð
 ×%Ò%Ð&8ÈQÐ%ÑOÔOÐSWÐWÐWÐWÐWØ×%Ò%Ð&8ÈQÐ%ÑOÔOÐSXÐXÐXÐXÐXð ×%Ò% lÀqÐ%ÑIÔIÈTÐQÐQÐQÐQØ×%Ò% lÀqÐ%ÑIÔIÈUÐRÐRÐRÐRð ×3Ò3°AÑ6Ô6€KÝÐAÐA°[ÐAÑAÔAÑAÔAÐAÐAÐAÝÐ?Ð?°;Ð?Ñ?Ô?Ñ?Ô?Ð?Ð?Ð?à×3Ò3°AÑ6Ô6€KÝÐ;Ð;¨{Ð;Ñ;Ô;Ñ;Ô;Ð;Ð;Ð;ÝÐEÐE¸ÐEÑEÔEÑEÔEÐEÐEÐEÐEÐEr   c                  ój  — t          d¦  «        t          j        k    sJ ‚t          d¦  «        t          j        k    sJ ‚t          d¦  «        t          j        k    sJ ‚t          d¦  «        t          j        k    sJ ‚t          d¦  «        t          j        k    sJ ‚t          d¦  «        t          j        k    sJ ‚t          d¦  «        t          j        k    sJ ‚t          d¦  «        t          j	        k    sJ ‚t          d	¦  «        t          j
        k    sJ ‚t          d
¦  «        t          j        k    sJ ‚t          d¦  «        t          j        k    sJ ‚t          d¦  «        t          j        k    sJ ‚t          d¦  «        t          j        k    sJ ‚t          d¦  «        t          j        k    sJ ‚dS )uX   Kiá»ƒm tra phÃ¢n loáº¡i chÃ­nh xÃ¡c cÃ¡c danh má»¥c váº­t pháº©m Ä‘áº·c thÃ¹ cá»§a POE2.ÚGoldzWaystone (Tier 15)zPrecursor TabletzUncut Skill Gem (Level 19)zUncut Support Gem (Level 3)zUncut Spirit Gemz	Iron RunezSoul Core of TacatizThawing Charmz
Divine Orbz	Chaos OrbzExpert Vaal CuirasszSpiked FistszCrescent QuarterstaffN)r   r   ÚGOLDÚWAYSTONEÚPRECURSOR_TABLETÚUNCUT_SKILL_GEMÚUNCUT_SUPPORT_GEMÚUNCUT_SPIRIT_GEMÚRUNEÚ	SOUL_COREÚCHARMÚCURRENCYÚ	EQUIPMENT© r   r   Ú&test_poe2_item_classification_accuracyrL   [   s¦  € å! &Ñ)Ô)Õ-=Ô-BÒBÐBÐBÐBÝ!Ð"6Ñ7Ô7Õ;KÔ;TÒTÐTÐTÐTÝ!Ð"4Ñ5Ô5Õ9IÔ9ZÒZÐZÐZÐZÝ!Ð">Ñ?Ô?ÕCSÔCcÒcÐcÐcÐcÝ!Ð"?Ñ@Ô@ÕDTÔDfÒfÐfÐfÐfÝ!Ð"4Ñ5Ô5Õ9IÔ9ZÒZÐZÐZÐZÝ! +Ñ.Ô.Õ2BÔ2GÒGÐGÐGÐGÝ!Ð"7Ñ8Ô8Õ<LÔ<VÒVÐVÐVÐVÝ! /Ñ2Ô2Õ6FÔ6LÒLÐLÐLÐLÝ! ,Ñ/Ô/Õ3CÔ3LÒLÐLÐLÐLÝ! +Ñ.Ô.Õ2BÔ2KÒKÐKÐKÐKÝ!Ð"7Ñ8Ô8Õ<LÔ<VÒVÐVÐVÐVÝ! .Ñ1Ô1Õ5EÔ5OÒOÐOÐOÐOÝ!Ð"9Ñ:Ô:Õ>NÔ>XÒXÐXÐXÐXÐXÐXr   )Ú__doc__ÚpytestÚsrc.assistant_tool.gem_managerr   r   r   Úsrc.common.item_typesr   r   r   r$   r=   rL   rK   r   r   ú<module>rQ      s¸   ððð ð €€€ðð ð ð ð ð ð ð ð ð ð
 KÐ JÐ JÐ JÐ JÐ JÐ JÐ Jð*ð *ð *ð2Rð Rð Rð(Fð Fð Fð6Yð Yð Yð Yð Yr   