§
    ûù©j7  ã                   óX   — d Z ddlZddlmc mZ ddlZddlm	Z	m
Z
mZ ddlmZ d„ Zd„ ZdS )u×  
Unit Tests for Item Lifecycle & Field Discard Evaluation (Doc 63 SSoT)
======================================================================
Kiá»ƒm thá»­ tÃ­nh nÄƒng:
- Pre-identification triage (sÃ ng lá»�c trÆ°á»›c khi nháº·t/giÃ¡m Ä‘á»‹nh).
- GiÃ¡m Ä‘á»‹nh dÃ£ chiáº¿n báº±ng Scroll of Wisdom ngay trong map.
- Tháº©m Ä‘á»‹nh Ä‘á»“ vá»«a giÃ¡m Ä‘á»‹nh: Vá»©t Ä‘á»“ rÃ¡c (FIELD_DISCARD) Ä‘á»ƒ giáº£i phÃ³ng Ã´ trá»‘ng, giá»¯ Ä‘á»“ cÃ³ giÃ¡ trá»‹ (KEEP_IN_INVENTORY).
é    N)ÚItemLifecycleManagerÚItemIdentificationStateÚIdentificationChannel)Ú	ItemStatsc                  ó†  — t          ¦   «         } t          dddd¬¦  «        }|                      |d¬¦  «        }|d         }d	}||u }|slt          j        d
|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}|d         }d}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}d}|d         }||v }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}dS )uz   Kiá»ƒm tra Ä‘á»“ rÃ¡c sau khi giÃ¡m Ä‘á»‹nh dÃ£ chiáº¿n bá»‹ Ä‘á»� xuáº¥t FIELD_DISCARD Ä‘á»ƒ tiáº¿t kiá»‡m Ã´ tÃºi Ä‘á»“.zRusty Spiked FistsÚglovesr   g      à?)ÚnameÚslotÚmax_lifeÚestimated_trade_value_chaosç      @©Úmin_chaos_valueÚshould_discardT©Úis©z%(py1)s is %(py4)s©Úpy1Úpy4úassert %(py6)sÚpy6NÚactionÚFIELD_DISCARD©ú==©z%(py1)s == %(py4)su   vá»©t ngay ra Ä‘áº¥tÚreason©Úin©z%(py1)s in %(py4)s©r   r   Úevaluate_field_identified_itemÚ
@pytest_arÚ_call_reprcompareÚ	_safereprÚAssertionErrorÚ_format_explanation)Ú	lifecycleÚ
junk_statsÚresultÚ@py_assert0Ú@py_assert3Ú@py_assert2Ú@py_format5Ú@py_format7s           ú1C:\Projects\AutoPOE2\tests\test_item_lifecycle.pyÚ+test_field_identification_discard_junk_itemr2      sO  € å$Ñ&Ô&€Iõ Ø!ØØØ$'ð	ñ ô €Jð ×5Ò5°jÐRUÐ5ÑVÔV€FØÐ"Ô#Ð+ tÐ+Ð# tÐ+Ð+Ð+Ð+Õ+Ô+Ð+Ð+Ð+Ð+Ð# tÐ+Ñ+Ô+Õ+Ô+Ð#Ñ+Ô+Õ+Ô+ tÑ+Ô+Ð+Ð+Ñ+Ð+Ð+Ð+Ð+Ð+Ñ+Ð+Õ+Õ+Ô+Ð+Ñ+Ô+Ñ+Ô+Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ø�(ÔÐ.˜Ð.Ð˜Ò.Ð.Ð.Ð.Õ.Ô.Ð.Ð.Ð.Ð.Ð˜Ð.Ñ.Ô.Õ.Ô.ÐÑ.Ô.Õ.Ô.˜Ñ.Ô.Ð.Ð.Ñ.Ð.Ð.Ð.Ð.Ð.Ñ.Ð.Õ.Õ.Ô.Ð.Ñ.Ô.Ñ.Ô.Ð.Ð.Ð.Ð.Ð.Ð.Ð.Ø!Ð5 V¨HÔ%5Ð5Ð!Ð%5Ð5Ð5Ð5Ð5Õ5Ô5Ð5Ð5Ð5Ð5Ð!Ð%5Ð5Ñ5Ô5Õ5Ô5Ð!Ñ5Ô5Õ5Ô5Ð%5Ñ5Ô5Ð5Ð5Ñ5Ð5Ð5Ð5Ð5Ð5Ñ5Ð5Õ5Õ5Ô5Ð5Ñ5Ô5Ñ5Ô5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5ó    c                  óŠ  — t          ¦   «         } t          dddddd¬¦  «        }|                      |d¬¦  «        }|d	         }d
}||u }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}|d         }d}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}d}|d         }||v }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}dS )uk   Kiá»ƒm tra Ä‘á»“ cÃ³ giÃ¡ trá»‹ sau khi giÃ¡m Ä‘á»‹nh dÃ£ chiáº¿n Ä‘Æ°á»£c giá»¯ láº¡i (KEEP_IN_INVENTORY).zExpert Spiked Fistsr   éP   é#   g      9@)r	   r
   r   Úfire_resÚcold_resr   r   r   r   Fr   r   r   r   r   Nr   ÚKEEP_IN_INVENTORYr   r   u   Giá»¯ láº¡i trong tÃºir   r   r!   r"   )r)   Úvaluable_statsr+   r,   r-   r.   r/   r0   s           r1   Ú,test_field_identification_keep_valuable_itemr;   %   sY  € å$Ñ&Ô&€Iõ Ø"ØØØØØ$(ðñ ô €Nð ×5Ò5°nÐVYÐ5ÑZÔZ€FØÐ"Ô#Ð, uÐ,Ð# uÐ,Ð,Ð,Ð,Õ,Ô,Ð,Ð,Ð,Ð,Ð# uÐ,Ñ,Ô,Õ,Ô,Ð#Ñ,Ô,Õ,Ô, uÑ,Ô,Ð,Ð,Ñ,Ð,Ð,Ð,Ð,Ð,Ñ,Ð,Õ,Õ,Ô,Ð,Ñ,Ô,Ñ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ø�(ÔÐ2Ð2Ð2ÐÐ2Ò2Ð2Ð2Ð2Õ2Ô2Ð2Ð2Ð2Ð2ÐÐ2Ð2Ñ2Ô2Õ2Ô2ÐÑ2Ô2Õ2Ô2Ð2Ñ2Ô2Ð2Ð2Ñ2Ð2Ð2Ð2Ð2Ð2Ñ2Ð2Õ2Õ2Ô2Ð2Ñ2Ô2Ñ2Ô2Ð2Ð2Ð2Ð2Ð2Ð2Ð2Ø#Ð7 v¨hÔ'7Ð7Ð#Ð'7Ð7Ð7Ð7Ð7Õ7Ô7Ð7Ð7Ð7Ð7Ð#Ð'7Ð7Ñ7Ô7Õ7Ô7Ð#Ñ7Ô7Õ7Ô7Ð'7Ñ7Ô7Ð7Ð7Ñ7Ð7Ð7Ð7Ð7Ð7Ñ7Ð7Õ7Õ7Ô7Ð7Ñ7Ô7Ñ7Ô7Ð7Ð7Ð7Ð7Ð7Ð7Ð7Ð7Ð7r3   )Ú__doc__ÚbuiltinsÚ@py_builtinsÚ_pytest.assertion.rewriteÚ	assertionÚrewriter$   ÚpytestÚ!src.agentic_engine.item_lifecycler   r   r   Ú!src.agentic_engine.what_is_betterr   r2   r;   © r3   r1   ú<module>rF      s¢   ððð ð € € € € € € € € € € € € €€€€ðð ð ð ð ð ð ð ð ð ð
 8Ð 7Ð 7Ð 7Ð 7Ð 7ð6ð 6ð 6ð$8ð 8ð 8ð 8ð 8r3   