§
    ;�ªj:  ã                   óJ   — d Z ddlmZmZ ddlZddlmZmZ d„ Zd„ Z	d„ Z
d„ ZdS )	u§  AutoPOE2 - Unit Tests for StashMemoryReader (Doc 63 / SSoT 2026).

Kiá»ƒm thá»­ bá»™ nhá»› Ä‘á»‡m RAM vÃ  kháº£ nÄƒng Ä‘á»“ng bá»™ Hybrid cá»§a Stash & Inventory:
- Khá»Ÿi táº¡o bá»™ nhá»› Ä‘á»‡m 60 Ã´ tÃºi Ä‘á»“.
- Cáº­p nháº­t vÃ  truy xuáº¥t tráº¡ng thÃ¡i Ã´ Ä‘á»“ O(1).
- Ä�á»“ng bá»™ hai chiá»�u vá»›i ma tráº­n quang há»�c (Optical Matrix).
- Kiá»ƒm tra cÆ¡ cháº¿ an toÃ n Fail-Soft khi khÃ´ng thá»ƒ káº¿t ná»‘i PID.
é    )Ú	MagicMockÚpatchN)ÚStashMemoryReaderÚSlotMemoryDatac                  óJ  — t          ¦   «         } t          | j        ¦  «        dk    sJ ‚t          |                      ¦   «         ¦  «        dk    sJ ‚|                      ¦   «         dk    sJ ‚|                      dd¦  «        }|j        dk    sJ ‚|j        dk    sJ ‚|j        rJ ‚dS )uG   Kiá»ƒm tra khá»Ÿi táº¡o 60 Ã´ tÃºi Ä‘á»“ máº·c Ä‘á»‹nh trong RAM Cache.é<   r   N)	r   ÚlenÚ_cacheÚget_all_occupied_slotsÚget_waystones_countÚget_slot_dataÚcolÚrowÚis_occupied)ÚreaderÚslot_0_0s     ú6C:\Projects\AutoPOE2\tests\test_stash_memory_reader.pyÚ#test_stash_memory_reader_cache_initr      s¾   € åÑ Ô €FÝˆvŒ}ÑÔ Ò#Ð#Ð#Ð#õ ˆv×,Ò,Ñ.Ô.Ñ/Ô/°1Ò4Ð4Ð4Ð4Ø×%Ò%Ñ'Ô'¨1Ò,Ð,Ð,Ð,ð ×#Ò# A qÑ)Ô)€HØŒ<˜1ÒÐÐÐØŒ<˜1ÒÐÐÐØÔ#Ð#Ð#Ð#Ð#Ð#ó    c                  óö  — t          ¦   «         } |                      dddddd¬¦  «        }|j        du sJ ‚|j        dk    sJ ‚|j        dk    sJ ‚|                      ddddd	¬
¦  «         |                      ¦   «         }t          |¦  «        dk    sJ ‚|                      ¦   «         dk    sJ ‚|                      ¦   «         }t          |¦  «        dk    sJ ‚|d         j	        dk    r|d         j
        dk    sJ ‚dS )uQ   Kiá»ƒm tra cáº­p nháº­t vÃ  truy xuáº¥t dá»¯ liá»‡u váº­t pháº©m trong RAM Cache.r   TzWaystone (Tier 16)ÚWAYSTONEé   )r   r   r   Ú	item_nameÚcategoryÚtieré   z	Chaos OrbÚCURRENCY)r   r   r   r   r   é   N)r   Úupdate_slotr   r   r   r   r	   r   Úget_waystone_slotsr   r   )r   Úslot_wsÚoccupiedÚws_slotss       r   Ú$test_stash_memory_reader_update_slotr$   #   sC  € åÑ Ô €Fð × Ò ØØØØ&ØØð !ñ ô €Gð Ô $Ð&Ð&Ð&Ð&ØÔÐ 4Ò4Ð4Ð4Ð4ØŒ<˜2ÒÐÐÐð ×ÒØØØØØð ñ ô ð ð ×,Ò,Ñ.Ô.€HÝˆx‰=Œ=˜AÒÐÐÐØ×%Ò%Ñ'Ô'¨1Ò,Ð,Ð,Ð,à×(Ò(Ñ*Ô*€HÝˆx‰=Œ=˜AÒÐÐÐØ�AŒ;Œ?˜aÒÐ H¨Q¤K¤O°qÒ$8Ð$8Ð$8Ð8Ð$8Ð$8r   c                  óF  — t          ¦   «         } |                      dddd¬¦  «         t          ddd¬¦  «        }t          ddd¬¦  «        }|                      ||g¦  «         |                      dd¦  «        j        du sJ ‚|                      dd¦  «        j        du sJ ‚dS )	uH   Kiá»ƒm tra Ä‘á»“ng bá»™ hai chiá»�u vá»›i káº¿t quáº£ quÃ©t quang há»�c.r   TÚWaystone)r   r   r   r   F)r   r   r   r   N)r   r   r   Úsync_with_optical_matrixr   r   )r   Úmock_slot_0Úmock_slot_2s      r   Ú*test_stash_memory_reader_sync_with_opticalr*   G   sÁ   € åÑ Ô €Fð ×Ò˜1 !°ÀÐÑLÔLÐLõ   q°eÐ<Ñ<Ô<€KÝ  q°dÐ;Ñ;Ô;€Kà
×#Ò# [°+Ð$>Ñ?Ô?Ð?ð ×Ò  1Ñ%Ô%Ô1°UÐ:Ð:Ð:Ð:ð ×Ò  1Ñ%Ô%Ô1°TÐ9Ð9Ð9Ð9Ð9Ð9r   c                  ó¸   — t          d¬¦  «        } |                      ¦   «         rJ ‚|                      dd¦  «        }|�J ‚|                      d¦  «        }|�J ‚dS )uL   Kiá»ƒm tra cÆ¡ cháº¿ an toÃ n Fail-Soft khi khÃ´ng thá»ƒ má»Ÿ tiáº¿n trÃ¬nh.i?B )Úpidl        é   N)r   Úis_attachedÚread_memoryÚread_u32)r   ÚvalÚval_u32s      r   Ú"test_stash_memory_reader_fail_softr3   [   sh   € å 6Ð*Ñ*Ô*€FØ×!Ò!Ñ#Ô#Ð#Ð#Ð#ð ×
Ò
˜[¨!Ñ
,Ô
,€CØˆ;ˆ;ˆ;à�oŠo˜kÑ*Ô*€GØˆ?ˆ?ˆ?ˆ?ˆ?r   )Ú__doc__Úunittest.mockr   r   ÚpytestÚ,src.assistant_tool.stash.stash_memory_readerr   r   r   r$   r*   r3   © r   r   ú<module>r9      s¡   ððð ð +Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ø €€€ðð ð ð ð ð ð ð ð$ð $ð $ð !9ð !9ð !9ðH:ð :ð :ð(
ð 
ð 
ð 
ð 
r   