§
    A›¦j  ã                   óH   — d Z ddlZddlmZmZmZmZ d„ Zd„ Zd„ Z	d„ Z
d„ ZdS )	u.  
Unit Tests for Waystone Auto-Crafting Engine (Doc 43 P2-1)
==========================================================
Kiá»ƒm thá»­ báº¥t biáº¿n:
- INV-CRAFT-WAYSTONE-01: Cáº¤M TUYá»†T Ä�á»�I dÃ¹ng Orb of Alchemy lÃªn Rare / Unique.
- Fail-Closed on Unknown.
- Trigger Ange Exchange khi háº¿t Alchemy.
é    N)ÚWaystoneAutoCrafterÚWaystoneItemÚWaystoneRarityÚCraftActionc                  ó`  — t          ¦   «         } t          ddt          j        ddd¬¦  «        }|                      |d¬¦  «        }|t
          j        k    s
J d¦   «         ‚t          d	d
t          j        dd¬¦  «        }|                      |d¬¦  «        }|t
          j        k    s
J d¦   «         ‚d S )NúDeserted Waystoneé   r   é   )ÚnameÚtierÚrarityÚinventory_colÚinventory_rowÚaffix_counté
   ©Úalchemy_countuA   INV-CRAFT-WAYSTONE-01: Waystone Rare KHÃ”NG Ä‘Æ°á»£c phÃ©p craft!zUnique Map Waystoneé   é   ©r   r   r   r   r   u,   Waystone Unique KHÃ”NG Ä‘Æ°á»£c phÃ©p craft!)r   r   r   ÚRAREÚevaluate_craft_actionr   Ú
SKIP_CRAFTÚUNIQUE)ÚcrafterÚrare_waystoneÚaction_rareÚunique_waystoneÚaction_uniques        ú1C:\Projects\AutoPOE2\tests\test_waystone_craft.pyÚ)test_inv_craft_waystone_01_rare_rejectionr!      sÕ   € Ý!Ñ#Ô#€Gõ !Ø ØÝÔ"ØØØðñ ô €Mð ×/Ò/°ÈRÐ/ÑPÔP€KØ�+Ô0Ò0Ð0Ð0Ð2uÑ0Ô0Ð0õ #Ø"ØÝÔ$ØØðñ ô €Oð ×1Ò1°/ÐQSÐ1ÑTÔT€MØ�KÔ2Ò2Ð2Ð2Ð4bÑ2Ô2Ð2Ð2Ð2ó    c                  ó>  — t          ¦   «         } t          ddt          j        dd¬¦  «        }|                      |d¬¦  «        }|t
          j        k    sJ ‚t          ddt          j        d	d¬¦  «        }|                      |d¬¦  «        }|t
          j        k    sJ ‚d S )
Nr   r	   r   r   é   r   zFortress Waystoneé   é   )r   r   r   ÚNORMALr   r   ÚAPPLY_ALCHEMYÚMAGIC)r   Úwhite_waystoneÚaction_whiteÚmagic_waystoneÚaction_magics        r    Ú%test_craft_normal_and_magic_waystonesr.   .   s¿   € Ý!Ñ#Ô#€Gõ "Ø ØÝÔ$ØØðñ ô €Nð ×0Ò0°ÈqÐ0ÑQÔQ€LØ�;Ô4Ò4Ð4Ð4Ð4õ "Ø ØÝÔ#ØØðñ ô €Nð ×0Ò0°ÈqÐ0ÑQÔQ€LØ�;Ô4Ò4Ð4Ð4Ð4Ð4Ð4r"   c                  ó°   — t          ¦   «         } t          ddt          j        dd¬¦  «        }|                      |d¬¦  «        }|t
          j        k    sJ ‚d S )Nr   r	   r   r   r   )r   r   r   r'   r   r   ÚTRIGGER_ANGE)r   r*   Úaction_no_alchs      r    Ú,test_craft_triggers_ange_when_out_of_alchemyr2   H   sh   € Ý!Ñ#Ô#€Gå!Ø ØÝÔ$ØØðñ ô €Nð ×2Ò2°>ÐQRÐ2ÑSÔS€NØ�[Ô5Ò5Ð5Ð5Ð5Ð5Ð5r"   c                  ó@  — t          ¦   «         } t          ddt          j        dd¬¦  «        }|                      |d¬¦  «        }|t
          j        k    sJ ‚t          ddt          j        dd¬¦  «        }|                      |dd¬	¦  «        }|t
          j        k    sJ ‚d S )
NzUnknown Waystoner	   r   r   r$   r   zNormal WaystoneF)r   Úis_in_safe_area)r   r   r   ÚUNKNOWNr   r   ÚABORT_SAFETYr'   )r   Úunknown_waystoneÚ
action_unkÚnormal_waystoneÚaction_dangers        r    Ú+test_craft_fail_closed_on_unknown_or_unsafer;   W   sÅ   € Ý!Ñ#Ô#€Gõ $ØØÝÔ%ØØðñ ô Ðð ×.Ò.Ð/?ÈqÐ.ÑQÔQ€JØ�Ô1Ò1Ð1Ð1Ð1õ #ØØÝÔ$ØØðñ ô €Oð ×1Ò1°/ÐQRÐdiÐ1ÑjÔj€MØ�KÔ4Ò4Ð4Ð4Ð4Ð4Ð4r"   c                  ó   — t          ¦   «         } t          ddt          j        dd¬¦  «        }|                      |dd¬¦  «        }|j        du sJ ‚|j        t          j        k    sJ ‚|j        t          j        k    sJ ‚d S )Nr   r	   r   r   r$   T)r   Úsimulate_success)	r   r   r   r'   Úexecute_craft_simulationÚsuccessÚinitial_rarityÚfinal_rarityr   )r   r*   Úress      r    Útest_craft_simulation_successrC   q   s—   € Ý!Ñ#Ô#€GÝ!Ø ØÝÔ$ØØðñ ô €Nð ×
*Ò
*¨>ÈÐ]aÐ
*Ñ
bÔ
b€CØŒ;˜$ÐÐÐÐØÔ¥Ô!6Ò6Ð6Ð6Ð6ØÔ�~Ô2Ò2Ð2Ð2Ð2Ð2Ð2r"   )Ú__doc__ÚpytestÚ*src.assistant_tool.pickit.waystone_crafterr   r   r   r   r!   r.   r2   r;   rC   © r"   r    ú<module>rH      s®   ððð ð €€€ðð ð ð ð ð ð ð ð ð ð ð ðcð cð cð65ð 5ð 5ð46ð 6ð 6ð5ð 5ð 5ð43ð 3ð 3ð 3ð 3r"   