§
    ÞU®j/&  ã                   ór   — 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mZ ddlmZmZmZ  G d„ d¦  «        ZdS )uo  Tests for Faustus Order Queue Manager & Auto-Restock Cycle (Chu Ká»³ 8).
======================================================================
Kiem thu toan dien:
- Khoi tao va quan tri 10 slots dat lenh san Faustus.
- Xu ly day slot va tu choi lenh vuot han muc.
- Mo phong khop lenh va tu dong nhan tien te (Claim Completed Trades).
- Tu dong phat hien thieu hut Waystone <= 3 va sinh lenh restock (INV-WAYSTONE-RESTOCK-MIN).
- Rang buoc an toan Vang (INV-EXCHANGE-GOLD-TAX) va du tru Chaos (INV-EXCHANGE-RESERVE-SAFE).
- In bang quan tri 10 slots tuan thu Rule 5: [MO PHONG THUAT TOAN HEADLESS - KHONG PHAI LIVE GAME].
é    N)ÚExchangeActionTypeÚExchangeOrderÚExchangeOrderStatusÚExchangePortfolioConfig)ÚClaimTradeResultÚFaustusOrderManagerÚFaustusOrderSlotc                   ó2   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestFaustusOrderManagerc                 óú  — t          ¦   «         }|j        }d}||k    }|sªt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚dx}x}}|j
        }d	}||k    }|sªt          j        d|fd
||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚dx}x}}|j        }d}||k    }|sªt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚dx}x}}|j        } |¦   «         }d	}||k    }|s½t          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }	t          t          j	        |	¦  «        ¦  «        ‚dx}x}x}}|j        D ]Á}
|
j        }d}||u }|sªt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |
¦  «        rt          j        |
¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚dx}x}}ŒÂdS )z:Kiem tra khoi tao 10 slots san Faustus o trang thai trong.é
   ©ú==)z1%(py2)s
{%(py2)s = %(py0)s.MAX_SLOTS
} == %(py5)sÚmanager©Úpy0Úpy2Úpy5úassert %(py7)sÚpy7Nr   ©z<%(py2)s
{%(py2)s = %(py0)s.occupied_slots_count
} == %(py5)s©z=%(py2)s
{%(py2)s = %(py0)s.available_slots_count
} == %(py5)s)zS%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.get_first_empty_slot
}()
} == %(py7)s©r   r   Úpy4r   úassert %(py9)sÚpy9T©Úis)z0%(py2)s
{%(py2)s = %(py0)s.is_empty
} is %(py5)sÚs)r   Ú	MAX_SLOTSÚ
@pytest_arÚ_call_reprcompareÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚ	_safereprÚAssertionErrorÚ_format_explanationÚoccupied_slots_countÚavailable_slots_countÚget_first_empty_slotÚslotsÚis_empty)Úselfr   Ú@py_assert1Ú@py_assert4Ú@py_assert3Ú@py_format6Ú@py_format8Ú@py_assert6Ú@py_assert5Ú@py_format10r   s              ú8C:\Projects\AutoPOE2\tests\test_faustus_order_manager.pyÚ&test_slots_initialization_and_capacityz>TestFaustusOrderManager.test_slots_initialization_and_capacity   s°  € å%Ñ'Ô'ˆØÔ Ð& BÐ&Ð  BÒ&Ð&Ð&Ð&Õ&Ô&Ð&Ð&Ð&Ð&Ð  BÐ&Ñ&Ô&Ð&Õ&Ô&Ñ&Ô&Ð&Ð&Õ&Ô&ˆwÑ&Ô&Ð&Õ&Ô&ˆwÑ&Ô&Ð&Ð&Õ&Ô&Ð Ñ&Ô&Õ&Ô& BÑ&Ô&Ð&Ð&Ñ&Ð&Ð&Ð&Ð&Ð&Ñ&Ð&Õ&Õ&Ô&Ð&Ñ&Ô&Ñ&Ô&Ð&Ð&Ð&Ð&Ð&Ð&Ð&ØÔ+Ð0¨qÐ0Ð+¨qÒ0Ð0Ð0Ð0Õ0Ô0Ð0Ð0Ð0Ð0Ð+¨qÐ0Ñ0Ô0Ð0Õ0Ô0Ñ0Ô0Ð0Ð0Õ0Ô0ˆwÑ0Ô0Ð0Õ0Ô0ˆwÑ0Ô0Ð0Ð0Õ0Ô0Ð+Ñ0Ô0Õ0Ô0¨qÑ0Ô0Ð0Ð0Ñ0Ð0Ð0Ð0Ð0Ð0Ñ0Ð0Õ0Õ0Ô0Ð0Ñ0Ô0Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0Ð0ØÔ,Ð2°Ð2Ð,°Ò2Ð2Ð2Ð2Õ2Ô2Ð2Ð2Ð2Ð2Ð,°Ð2Ñ2Ô2Ð2Õ2Ô2Ñ2Ô2Ð2Ð2Õ2Ô2ˆwÑ2Ô2Ð2Õ2Ô2ˆwÑ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Ô2Ð2Õ2Ô2Ñ2Ô2Ð2Ð2Õ2Ô2ˆwÑ2Ô2Ð2Õ2Ô2ˆwÑ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Ø”ð 	&ð 	&ˆAØ”:Ð% Ð%�: Ð%Ð%Ð%Ð%Õ%Ô%Ð%Ð%Ð%Ð%�: Ð%Ñ%Ô%Ð%Õ%Ô%Ñ%Ô%Ð%Ð%Õ%Ô%�1Ñ%Ô%Ð%Õ%Ô%�1Ñ%Ô%Ð%Ð%Õ%Ô%�:Ñ%Ô%Õ%Ô% Ñ%Ô%Ð%Ð%Ñ%Ð%Ð%Ð%Ð%Ð%Ñ%Ð%Õ%Õ%Ô%Ð%Ñ%Ô%Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð%Ð%ð	&ð 	&ó    c                 óô  — t          ¦   «         }t          d¦  «        D �]Â}t          d|› �t          j        dddddd¬¦  «        }|                     |¦  «        \  }}}d	}||u }|s—t          j        d
|fd||f¦  «        dt          j	        ¦   «         v st          j
        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }	dd|	iz  }
t          t          j        |
¦  «        ¦  «        ‚dx}}||k    }|sÂt          j        d|fd||f¦  «        dt          j	        ¦   «         v st          j
        |¦  «        rt          j        |¦  «        nddt          j	        ¦   «         v st          j
        |¦  «        rt          j        |¦  «        nddœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d}|j        }t          j        }||k    }|sòt          j        d|fd||f¦  «        dt          j	        ¦   «         v st          j
        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dt          j	        ¦   «         v st          j
        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}�ŒÄ|j        }d}||k    }|sªt          j        d|fd||f¦  «        dt          j	        ¦   «         v st          j
        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        d œz  }
d!d"|
iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}|j        }d#}||k    }|sªt          j        d|fd$||f¦  «        dt          j	        ¦   «         v st          j
        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        d œz  }
d!d"|
iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}|j        } |¦   «         }d}||u }|s½t          j        d
|fd%||f¦  «        dt          j	        ¦   «         v st          j
        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d&œz  }d'd(|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}x}}t          d)t          j        dd*d+d,d-d.¬¦  «        }|                     |¦  «        \  }}}d/}||u }|s—t          j        d
|fd||f¦  «        dt          j	        ¦   «         v st          j
        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }	dd|	iz  }
t          t          j        |
¦  «        ¦  «        ‚dx}}d}||u }|s—t          j        d
|fd||f¦  «        dt          j	        ¦   «         v st          j
        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }	dd|	iz  }
t          t          j        |
¦  «        ¦  «        ‚dx}}|j        }t          j        }||k    }|sòt          j        d|fd0||f¦  «        d1t          j	        ¦   «         v st          j
        |¦  «        rt          j        |¦  «        nd1t          j        |¦  «        dt          j	        ¦   «         v st          j
        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}d2}||v }|s—t          j        d3|fd4||f¦  «        t          j        |¦  «        d5t          j	        ¦   «         v st          j
        |¦  «        rt          j        |¦  «        nd5d6œz  }	dd|	iz  }
t          t          j        |
¦  «        ¦  «        ‚dx}}dS )7zDKiem tra nop 10 lenh thanh cong va tu choi lenh thu 11 khi het slot.r   Úorder_úOrb of Alchemyé   ú	Chaos Orbç      à?éô  ©Úorder_idÚaction_typeÚsell_currencyÚsell_amountÚbuy_currencyÚexpected_buy_amountÚmarket_rateÚestimated_gold_taxTr   ©z%(py0)s is %(py3)sÚsuccess©r   Úpy3úassert %(py5)sr   Nr   )z%(py0)s == %(py2)sÚslot_idÚi)r   r   zassert %(py4)sr   )zM%(py2)s
{%(py2)s = %(py0)s.status
} == %(py6)s
{%(py6)s = %(py4)s.SUBMITTED
}Úorderr   ©r   r   r   Úpy6úassert %(py8)sÚpy8r   r   r   r   r   r   r   )zS%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.get_first_empty_slot
}()
} is %(py7)sr   r   r   Úorder_overflowé‘   ú
Divine Orbé   çðøÃ�?|?éú   F©zM%(py2)s
{%(py2)s = %(py0)s.status
} == %(py6)s
{%(py6)s = %(py4)s.CANCELLED
}Úoverflow_orderz10/10 slots©Úin©z%(py1)s in %(py3)sÚmsg©Úpy1rM   )r   Úranger   r   ÚSELL_TO_CHAOSÚsubmit_orderr!   r"   r#   r$   r%   r&   r'   r(   Ústatusr   Ú	SUBMITTEDr)   r*   r+   ÚCONVERT_CHAOS_TO_DIVINEÚ	CANCELLED)r.   r   rP   rQ   rK   ra   rO   Ú@py_assert2r/   Ú@py_format4r2   Ú@py_format3Ú@py_format5r5   r1   Ú@py_format7Ú@py_format9r0   r3   r4   r6   r]   Ú@py_assert0s                          r7   Ú&test_submit_order_success_and_overflowz>TestFaustusOrderManager.test_submit_order_success_and_overflow%   sÀ	  € å%Ñ'Ô'ˆõ �r‘”ð 	Añ 	AˆAÝ!Ø% !˜˜Ý.Ô<Ø.ØØ(Ø$&ØØ#&ð	ñ 	ô 	ˆEð %,×$8Ò$8¸Ñ$?Ô$?Ñ!ˆG�S˜'Ø"Ð"�7˜d�?Ð"Ð"Ð"Õ"Ô"Ð"Ð"Ð"Ð"�7˜dÐ"Ñ"Ô"Ð"Õ"Ô"Ñ"Ô"Ð"Ð"Õ"Ô"�7Ñ"Ô"Ð"Õ"Ô"�7Ñ"Ô"Ð"Ð"Õ"Ô"˜dÑ"Ô"Ð"Ð"Ñ"Ð"Ð"Ð"Ð"Ð"Ñ"Ð"Õ"Õ"Ô"Ð"Ñ"Ô"Ñ"Ô"Ð"Ð"Ð"Ð"Ð"Ø˜a’<ÐÐÐÕÔÐÐÐÐ�7˜aÐÑÔÐÕÔÑÔÐÐÕÔ�7ÑÔÐÕÔ�7ÑÔÐÐÐÕÔÑÔÐÐÕÔ˜aÑÔÐÕÔ˜aÑÔÐÐÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐØ”<Ð@Õ#6Ô#@Ð@�<Ð#@Ò@Ð@Ð@Ð@Õ@Ô@Ð@Ð@Ð@Ð@�<Ð#@Ð@Ñ@Ô@Ð@Õ@Ô@Ñ@Ô@Ð@Ð@Õ@Ô@�5Ñ@Ô@Ð@Õ@Ô@�5Ñ@Ô@Ð@Ð@Õ@Ô@�<Ñ@Ô@Ð@Õ@Ô@Ñ@Ô@Ð@Ð@Õ@Ô@Õ#6Ñ@Ô@Ð@Õ@Ô@Õ#6Ñ@Ô@Ð@Ð@Õ@Ô@Ð#@Ñ@Ô@Ð@Ð@Ñ@Ð@Ð@Ð@Ð@Ð@Ñ@Ð@Õ@Õ@Ô@Ð@Ñ@Ô@Ñ@Ô@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ñ@àÔ+Ð1¨rÐ1Ð+¨rÒ1Ð1Ð1Ð1Õ1Ô1Ð1Ð1Ð1Ð1Ð+¨rÐ1Ñ1Ô1Ð1Õ1Ô1Ñ1Ô1Ð1Ð1Õ1Ô1ˆwÑ1Ô1Ð1Õ1Ô1ˆwÑ1Ô1Ð1Ð1Õ1Ô1Ð+Ñ1Ô1Õ1Ô1¨rÑ1Ô1Ð1Ð1Ñ1Ð1Ð1Ð1Ð1Ð1Ñ1Ð1Õ1Õ1Ô1Ð1Ñ1Ô1Ñ1Ô1Ð1Ð1Ð1Ð1Ð1Ð1Ð1ØÔ,Ð1°Ð1Ð,°Ò1Ð1Ð1Ð1Õ1Ô1Ð1Ð1Ð1Ð1Ð,°Ð1Ñ1Ô1Ð1Õ1Ô1Ñ1Ô1Ð1Ð1Õ1Ô1ˆwÑ1Ô1Ð1Õ1Ô1ˆwÑ1Ô1Ð1Ð1Õ1Ô1Ð,Ñ1Ô1Õ1Ô1°Ñ1Ô1Ð1Ð1Ñ1Ð1Ð1Ð1Ð1Ð1Ñ1Ð1Õ1Õ1Ô1Ð1Ñ1Ô1Ñ1Ô1Ð1Ð1Ð1Ð1Ð1Ð1Ð1ØÔ+Ð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ˆwÑ5Ô5Ð5Õ5Ô5ˆwÑ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õ 'Ø%Ý*ÔBØ%ØØ%Ø !Ø#Ø"ð	
ñ 	
ô 	
ˆð !(× 4Ò 4°^Ñ DÔ DÑˆ��gØÐˆw˜%ÐÐÐÐÕÔÐÐÐÐˆw˜%ÐÑÔÐÕÔÑÔÐÐÕÔˆwÑÔÐÕÔˆwÑÔÐÐÕÔ˜%ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØÐˆw˜$ˆÐÐÐÕÔÐÐÐÐˆw˜$ÐÑÔÐÕÔÑÔÐÐÕÔˆwÑÔÐÕÔˆwÑÔÐÐÕÔ˜$ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØÔ$ÐEÕ(;Ô(EÐEÐ$Ð(EÒEÐEÐEÐEÕEÔEÐEÐEÐEÐEÐ$Ð(EÐEÑEÔEÐEÕEÔEÑEÔEÐEÐEÕEÔEˆ~ÑEÔEÐEÕEÔEˆ~ÑEÔEÐEÐEÕEÔEÐ$ÑEÔEÐEÕEÔEÑEÔEÐEÐEÕEÔEÕ(;ÑEÔEÐEÕEÔEÕ(;ÑEÔEÐEÐEÕEÔEÐ(EÑEÔEÐEÐEÑEÐEÐEÐEÐEÐEÑEÐEÕEÕEÔEÐEÑEÔEÑEÔEÐEÐEÐEÐEÐEÐEÐEØÐ#ˆ} Ð#Ð#Ð#Ð#Õ#Ô#Ð#Ð#Ð#Ð#ˆ} Ð#Ñ#Ô#Õ#Ô#ˆ}Ñ#Ô#Ð#Õ#Ô#Ñ#Ô#Ð#Ð#Õ#Ô# Ñ#Ô#Ð#Õ#Ô# Ñ#Ô#Ð#Ð#Ð#Ð#Ñ#Ð#Ð#Ð#Ð#Ð#Ñ#Ð#Õ#Õ#Ô#Ð#Ñ#Ô#Ñ#Ô#Ð#Ð#Ð#Ð#Ð#Ð#Ð#r9   c           
      ój  — t          ¦   «         }t          dt          j        dddddd¬¦  «        }t          d	t          j        d
ddddd¬¦  «        }|                     |¦  «         |                     |¦  «         |j        }d}||k    }|sªt          j        d|fd||f¦  «        dt          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}|                     dd¬¦  «         |                     dd¬¦  «         |j        d         }	|	j        }
d}|
|u }|st          j        d|fd|
|f¦  «        t          j        |	¦  «        t          j        |
¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}	x}
x}}|j        d         }	|	j        }
d}|
|u }|st          j        d|fd|
|f¦  «        t          j        |	¦  «        t          j        |
¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}	x}
x}}|                     ¦   «         }t'          |¦  «        }
d}|
|k    }|sòt          j        d|fd|
|f¦  «        d t          j
        ¦   «         v st          j        t&          ¦  «        rt          j        t&          ¦  «        nd d!t          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd!t          j        |
¦  «        t          j        |¦  «        d"œz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}
x}}|d         }|j        }d}||k    }|sªt          j        d|fd#||f¦  «        d$t          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd$t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}|j        }d}||k    }|sªt          j        d|fd%||f¦  «        d$t          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd$t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}|j        }d}||k    }|sªt          j        d|fd&||f¦  «        d$t          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd$t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}|d         }|j        }d}||k    }|sªt          j        d|fd#||f¦  «        d't          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd't          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}|j        }d}||k    }|sªt          j        d|fd%||f¦  «        d't          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd't          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}|j        }d}||k    }|sªt          j        d|fd&||f¦  «        d't          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd't          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}|j        }d}||k    }|sªt          j        d|fd||f¦  «        dt          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}|j        }d(}||k    }|sªt          j        d|fd)||f¦  «        dt          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}|j        d         }	|	j        }
d}|
|u }|st          j        d|fd*|
|f¦  «        t          j        |	¦  «        t          j        |
¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}	x}
x}}|j        d         }	|	j        }
d}|
|u }|st          j        d|fd*|
|f¦  «        t          j        |	¦  «        t          j        |
¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}	x}
x}}dS )+z=Kiem tra mo phong khop lenh va tu dong claim giai phong slot.Úo1r>   rW   rX   rY   rZ   r[   rA   Úo2zOrb of Alterationéd   é   g333333Ã?r@   é   r   r   r   r   r   r   Nr   ©rO   Úfilled_amountTr   )z9%(py3)s
{%(py3)s = %(py1)s.is_ready_to_claim
} is %(py6)s©rc   rM   rS   rT   rU   ©z0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} == %(py6)sÚlenÚclaimed©r   rc   rM   rS   )z8%(py2)s
{%(py2)s = %(py0)s.claimed_currency
} == %(py5)sÚc1)z6%(py2)s
{%(py2)s = %(py0)s.claimed_amount
} == %(py5)s)z5%(py2)s
{%(py2)s = %(py0)s.freed_slot_id
} == %(py5)sÚc2r   r   ©z0%(py3)s
{%(py3)s = %(py1)s.is_empty
} is %(py6)s)r   r   r   ri   re   rf   r)   r!   r"   r#   r$   r%   r&   r'   r(   Úsimulate_order_fillr,   Úis_ready_to_claimÚclaim_all_completed_tradesr}   Úclaimed_currencyÚclaimed_amountÚfreed_slot_idr*   r-   )r.   r   rt   ru   r/   r0   r1   r2   r3   rq   rk   r5   ro   rp   r~   r€   r�   s                    r7   Ú#test_simulate_fill_and_claim_tradesz;TestFaustusOrderManager.test_simulate_fill_and_claim_tradesO   s$  € å%Ñ'Ô'ˆõ ØÝ*ÔBØ%ØØ%Ø !Ø#Ø"ð	
ñ 	
ô 	
ˆõ ØÝ*Ô8Ø-ØØ$Ø "ØØ"ð	
ñ 	
ô 	
ˆð 	×Ò˜RÑ Ô Ð Ø×Ò˜RÑ Ô Ð ØÔ+Ð0¨qÐ0Ð+¨qÒ0Ð0Ð0Ð0Õ0Ô0Ð0Ð0Ð0Ð0Ð+¨qÐ0Ñ0Ô0Ð0Õ0Ô0Ñ0Ô0Ð0Ð0Õ0Ô0ˆwÑ0Ô0Ð0Õ0Ô0ˆwÑ0Ô0Ð0Ð0Õ0Ô0Ð+Ñ0Ô0Õ0Ô0¨qÑ0Ô0Ð0Ð0Ñ0Ð0Ð0Ð0Ð0Ð0Ñ0Ð0Õ0Õ0Ô0Ð0Ñ0Ô0Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0Ð0ð 	×#Ò#¨A¸QÐ#Ñ?Ô?Ð?Ø×#Ò#¨A¸RÐ#Ñ@Ô@Ð@àŒ}˜QÔÐ9ÐÔ1Ð9°TÐ9Ð1°TÐ9Ð9Ð9Ð9Õ9Ô9Ð9Ð9Ð9Ð9Ð1°TÐ9Ñ9Ô9Õ9Ô9ÐÑ9Ô9Õ9Ô9Ð1Ñ9Ô9Õ9Ô9°TÑ9Ô9Ð9Ð9Ñ9Ð9Ð9Ð9Ð9Ð9Ñ9Ð9Õ9Õ9Ô9Ð9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9ØŒ}˜QÔÐ9ÐÔ1Ð9°TÐ9Ð1°TÐ9Ð9Ð9Ð9Õ9Ô9Ð9Ð9Ð9Ð9Ð1°TÐ9Ñ9Ô9Õ9Ô9ÐÑ9Ô9Õ9Ô9Ð1Ñ9Ô9Õ9Ô9°TÑ9Ô9Ð9Ð9Ñ9Ð9Ð9Ð9Ð9Ð9Ñ9Ð9Õ9Õ9Ô9Ð9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9ð ×4Ò4Ñ6Ô6ˆÝ�7‰|Œ|Ð ˜qÐ ˆ|˜qÒ Ð Ð Ð Õ Ô Ð Ð Ð Ð ˆ|˜qÐ Ñ Ô Ð Õ Ô Ñ Ô Ð Ð Õ Ô �sÑ Ô Ð Õ Ô �sÑ Ô Ð Ð Ð Õ Ô Ñ Ô Ð Ð Õ Ô �7Ñ Ô Ð Õ Ô �7Ñ Ô Ð Ð Õ Ô ˆ|Ñ Ô Õ Ô ˜qÑ Ô Ð Ð Ñ Ð Ð Ð Ð Ð Ñ Ð Õ Õ Ô Ð Ñ Ô Ñ Ô Ð Ð Ð Ð Ð Ð Ð ð �QŒZˆØÔ"Ð2 lÐ2Ð" lÒ2Ð2Ð2Ð2Õ2Ô2Ð2Ð2Ð2Ð2Ð" lÐ2Ñ2Ô2Ð2Õ2Ô2Ñ2Ô2Ð2Ð2Õ2Ô2ˆrÑ2Ô2Ð2Õ2Ô2ˆrÑ2Ô2Ð2Ð2Õ2Ô2Ð"Ñ2Ô2Õ2Ô2 lÑ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ØÔ Ð% AÐ%Ð  AÒ%Ð%Ð%Ð%Õ%Ô%Ð%Ð%Ð%Ð%Ð  AÐ%Ñ%Ô%Ð%Õ%Ô%Ñ%Ô%Ð%Ð%Õ%Ô%ˆrÑ%Ô%Ð%Õ%Ô%ˆrÑ%Ô%Ð%Ð%Õ%Ô%Ð Ñ%Ô%Õ%Ô% AÑ%Ô%Ð%Ð%Ñ%Ð%Ð%Ð%Ð%Ð%Ñ%Ð%Õ%Õ%Ô%Ð%Ñ%Ô%Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð%ØÔÐ$ 1Ð$Ð 1Ò$Ð$Ð$Ð$Õ$Ô$Ð$Ð$Ð$Ð$Ð 1Ð$Ñ$Ô$Ð$Õ$Ô$Ñ$Ô$Ð$Ð$Õ$Ô$ˆrÑ$Ô$Ð$Õ$Ô$ˆrÑ$Ô$Ð$Ð$Õ$Ô$ÐÑ$Ô$Õ$Ô$ 1Ñ$Ô$Ð$Ð$Ñ$Ð$Ð$Ð$Ð$Ð$Ñ$Ð$Õ$Õ$Ô$Ð$Ñ$Ô$Ñ$Ô$Ð$Ð$Ð$Ð$Ð$Ð$Ð$à�QŒZˆØÔ"Ð1 kÐ1Ð" kÒ1Ð1Ð1Ð1Õ1Ô1Ð1Ð1Ð1Ð1Ð" kÐ1Ñ1Ô1Ð1Õ1Ô1Ñ1Ô1Ð1Ð1Õ1Ô1ˆrÑ1Ô1Ð1Õ1Ô1ˆrÑ1Ô1Ð1Ð1Õ1Ô1Ð"Ñ1Ô1Õ1Ô1 kÑ1Ô1Ð1Ð1Ñ1Ð1Ð1Ð1Ð1Ð1Ñ1Ð1Õ1Õ1Ô1Ð1Ñ1Ô1Ñ1Ô1Ð1Ð1Ð1Ð1Ð1Ð1Ð1ØÔ Ð& BÐ&Ð  BÒ&Ð&Ð&Ð&Õ&Ô&Ð&Ð&Ð&Ð&Ð  BÐ&Ñ&Ô&Ð&Õ&Ô&Ñ&Ô&Ð&Ð&Õ&Ô&ˆrÑ&Ô&Ð&Õ&Ô&ˆrÑ&Ô&Ð&Ð&Õ&Ô&Ð Ñ&Ô&Õ&Ô& BÑ&Ô&Ð&Ð&Ñ&Ð&Ð&Ð&Ð&Ð&Ñ&Ð&Õ&Õ&Ô&Ð&Ñ&Ô&Ñ&Ô&Ð&Ð&Ð&Ð&Ð&Ð&Ð&ØÔÐ$ 1Ð$Ð 1Ò$Ð$Ð$Ð$Õ$Ô$Ð$Ð$Ð$Ð$Ð 1Ð$Ñ$Ô$Ð$Õ$Ô$Ñ$Ô$Ð$Ð$Õ$Ô$ˆrÑ$Ô$Ð$Õ$Ô$ˆrÑ$Ô$Ð$Ð$Õ$Ô$ÐÑ$Ô$Õ$Ô$ 1Ñ$Ô$Ð$Ð$Ñ$Ð$Ð$Ð$Ð$Ð$Ñ$Ð$Õ$Õ$Ô$Ð$Ñ$Ô$Ñ$Ô$Ð$Ð$Ð$Ð$Ð$Ð$Ð$ð Ô+Ð0¨qÐ0Ð+¨qÒ0Ð0Ð0Ð0Õ0Ô0Ð0Ð0Ð0Ð0Ð+¨qÐ0Ñ0Ô0Ð0Õ0Ô0Ñ0Ô0Ð0Ð0Õ0Ô0ˆwÑ0Ô0Ð0Õ0Ô0ˆwÑ0Ô0Ð0Ð0Õ0Ô0Ð+Ñ0Ô0Õ0Ô0¨qÑ0Ô0Ð0Ð0Ñ0Ð0Ð0Ð0Ð0Ð0Ñ0Ð0Õ0Õ0Ô0Ð0Ñ0Ô0Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0Ð0ØÔ,Ð2°Ð2Ð,°Ò2Ð2Ð2Ð2Õ2Ô2Ð2Ð2Ð2Ð2Ð,°Ð2Ñ2Ô2Ð2Õ2Ô2Ñ2Ô2Ð2Ð2Õ2Ô2ˆwÑ2Ô2Ð2Õ2Ô2ˆwÑ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ØŒ}˜QÔÐ0ÐÔ(Ð0¨DÐ0Ð(¨DÐ0Ð0Ð0Ð0Õ0Ô0Ð0Ð0Ð0Ð0Ð(¨DÐ0Ñ0Ô0Õ0Ô0ÐÑ0Ô0Õ0Ô0Ð(Ñ0Ô0Õ0Ô0¨DÑ0Ô0Ð0Ð0Ñ0Ð0Ð0Ð0Ð0Ð0Ñ0Ð0Õ0Õ0Ô0Ð0Ñ0Ô0Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0ØŒ}˜QÔÐ0ÐÔ(Ð0¨DÐ0Ð(¨DÐ0Ð0Ð0Ð0Õ0Ô0Ð0Ð0Ð0Ð0Ð(¨DÐ0Ñ0Ô0Õ0Ô0ÐÑ0Ô0Õ0Ô0Ð(Ñ0Ô0Õ0Ô0¨DÑ0Ô0Ð0Ð0Ñ0Ð0Ð0Ð0Ð0Ð0Ñ0Ð0Õ0Õ0Ô0Ð0Ñ0Ô0Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0r9   c                 ó˜  — t          d¬¦  «        }|                     ddddd¬¦  «        }d}||u }|s—t          j        d	|fd
||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚dx}}|                     ddddd¬¦  «        }d}||u}|s—t          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚dx}}|j
        }d}||k    }	|	sªt          j        d|	fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }
t          t          j	        |
¦  «        ¦  «        ‚dx}x}	}|j        }d}||k    }	|	sªt          j        d|	fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }
t          t          j	        |
¦  «        ¦  «        ‚dx}x}	}|j        }d}||k    }	|	sªt          j        d|	fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }
t          t          j	        |
¦  «        ¦  «        ‚dx}x}	}|j        }d}||k    }	|	sªt          j        d|	fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }
t          t          j	        |
¦  «        ¦  «        ‚dx}x}	}|j        }d}||k    }	|	sªt          j        d|	fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }
t          t          j	        |
¦  «        ¦  «        ‚dx}x}	}|                     d d!ddd¬¦  «        }d}||u }|s—t          j        d	|fd
||f¦  «        d"t	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd"t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚dx}}|                     d dd#dd¬¦  «        }d}||u }|s—t          j        d	|fd
||f¦  «        d$t	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd$t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚dx}}dS )%zGKiem tra bat bien INV-WAYSTONE-RESTOCK-MIN: restock khi Waystones <= 3.g      $@)Úwaystone_price_in_chaosé   éÈ   i˜:  é   )Útotal_waystones_ownedÚavailable_chaosÚcurrent_goldÚtarget_tierÚ	buy_countNr   rJ   Ú
order_nonerL   rN   r   rx   )úis not)z%(py0)s is not %(py3)sÚorder_restockr>   r   )z5%(py2)s
{%(py2)s = %(py0)s.sell_currency
} == %(py5)sr   r   r   é2   )z3%(py2)s
{%(py2)s = %(py0)s.sell_amount
} == %(py5)szWaystone (Tier 16))z4%(py2)s
{%(py2)s = %(py0)s.buy_currency
} == %(py5)s)z;%(py2)s
{%(py2)s = %(py0)s.expected_buy_amount
} == %(py5)sr[   )z:%(py2)s
{%(py2)s = %(py0)s.estimated_gold_tax
} == %(py5)srY   éF   Úorder_low_chaosiì  Úorder_low_gold)r   Ú#check_and_generate_waystone_restockr!   r"   r#   r$   r%   r&   r'   r(   rD   rE   rF   rG   rI   )r.   r   r”   rk   r/   rl   r2   r–   r0   r1   r3   r™   rš   s                r7   Ú!test_waystone_restock_min_triggerz9TestFaustusOrderManager.test_waystone_restock_min_trigger‰   sA  € å%¸dÐCÑCÔCˆð ×@Ò@Ø"#ØØØØð Añ 
ô 
ˆ
ð "Ð!ˆz˜TÐ!Ð!Ð!Ð!Õ!Ô!Ð!Ð!Ð!Ð!ˆz˜TÐ!Ñ!Ô!Ð!Õ!Ô!Ñ!Ô!Ð!Ð!Õ!Ô!ˆzÑ!Ô!Ð!Õ!Ô!ˆzÑ!Ô!Ð!Ð!Õ!Ô!˜TÑ!Ô!Ð!Ð!Ñ!Ð!Ð!Ð!Ð!Ð!Ñ!Ð!Õ!Õ!Ô!Ð!Ñ!Ô!Ñ!Ô!Ð!Ð!Ð!Ð!Ð!ð  ×CÒCØ"#ØØØØð Dñ 
ô 
ˆð %)Ð(ˆ} DÐ(Ð(Ð(Ð(Õ(Ô(Ð(Ð(Ð(Ð(ˆ} DÐ(Ñ(Ô(Ð(Õ(Ô(Ñ(Ô(Ð(Ð(Õ(Ô(ˆ}Ñ(Ô(Ð(Õ(Ô(ˆ}Ñ(Ô(Ð(Ð(Õ(Ô( DÑ(Ô(Ð(Ð(Ñ(Ð(Ð(Ð(Ð(Ð(Ñ(Ð(Õ(Õ(Ô(Ð(Ñ(Ô(Ñ(Ô(Ð(Ð(Ð(Ð(Ð(ØÔ*Ð9¨kÐ9Ð*¨kÒ9Ð9Ð9Ð9Õ9Ô9Ð9Ð9Ð9Ð9Ð*¨kÐ9Ñ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9ˆ}Ñ9Ô9Ð9Õ9Ô9ˆ}Ñ9Ô9Ð9Ð9Õ9Ô9Ð*Ñ9Ô9Õ9Ô9¨kÑ9Ô9Ð9Ð9Ñ9Ð9Ð9Ð9Ð9Ð9Ñ9Ð9Õ9Õ9Ô9Ð9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9Ð9ØÔ(Ð.¨BÐ.Ð(¨BÒ.Ð.Ð.Ð.Õ.Ô.Ð.Ð.Ð.Ð.Ð(¨BÐ.Ñ.Ô.Ð.Õ.Ô.Ñ.Ô.Ð.Ð.Õ.Ô.ˆ}Ñ.Ô.Ð.Õ.Ô.ˆ}Ñ.Ô.Ð.Ð.Õ.Ô.Ð(Ñ.Ô.Õ.Ô.¨BÑ.Ô.Ð.Ð.Ñ.Ð.Ð.Ð.Ð.Ð.Ñ.Ð.Õ.Õ.Ô.Ð.Ñ.Ô.Ñ.Ô.Ð.Ð.Ð.Ð.Ð.Ð.Ð.ØÔ)ÐAÐ-AÐAÐ)Ð-AÒAÐAÐAÐAÕAÔAÐAÐAÐAÐAÐ)Ð-AÐAÑAÔAÐAÕAÔAÑAÔAÐAÐAÕAÔAˆ}ÑAÔAÐAÕAÔAˆ}ÑAÔAÐAÐAÕAÔAÐ)ÑAÔAÕAÔAÐ-AÑAÔAÐAÐAÑAÐAÐAÐAÐAÐAÑAÐAÕAÕAÔAÐAÑAÔAÑAÔAÐAÐAÐAÐAÐAÐAÐAØÔ0Ð5°AÐ5Ð0°AÒ5Ð5Ð5Ð5Õ5Ô5Ð5Ð5Ð5Ð5Ð0°AÐ5Ñ5Ô5Ð5Õ5Ô5Ñ5Ô5Ð5Ð5Õ5Ô5ˆ}Ñ5Ô5Ð5Õ5Ô5ˆ}Ñ5Ô5Ð5Ð5Õ5Ô5Ð0Ñ5Ô5Õ5Ô5°AÑ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ØÔ/Ð6°3Ð6Ð/°3Ò6Ð6Ð6Ð6Õ6Ô6Ð6Ð6Ð6Ð6Ð/°3Ð6Ñ6Ô6Ð6Õ6Ô6Ñ6Ô6Ð6Ð6Õ6Ô6ˆ}Ñ6Ô6Ð6Õ6Ô6ˆ}Ñ6Ô6Ð6Ð6Õ6Ô6Ð/Ñ6Ô6Õ6Ô6°3Ñ6Ô6Ð6Ð6Ñ6Ð6Ð6Ð6Ð6Ð6Ñ6Ð6Õ6Õ6Ô6Ð6Ñ6Ô6Ñ6Ô6Ð6Ð6Ð6Ð6Ð6Ð6Ð6ð "×EÒEØ"#ØØØØð Fñ 
ô 
ˆð #'Ð&ˆ $Ð&Ð&Ð&Ð&Õ&Ô&Ð&Ð&Ð&Ð&ˆ $Ð&Ñ&Ô&Ð&Õ&Ô&Ñ&Ô&Ð&Ð&Õ&Ô&ˆÑ&Ô&Ð&Õ&Ô&ˆÑ&Ô&Ð&Ð&Õ&Ô& $Ñ&Ô&Ð&Ð&Ñ&Ð&Ð&Ð&Ð&Ð&Ñ&Ð&Õ&Õ&Ô&Ð&Ñ&Ô&Ñ&Ô&Ð&Ð&Ð&Ð&Ð&ð !×DÒDØ"#ØØØØð Eñ 
ô 
ˆð "&Ð%ˆ~ Ð%Ð%Ð%Ð%Õ%Ô%Ð%Ð%Ð%Ð%ˆ~ Ð%Ñ%Ô%Ð%Õ%Ô%Ñ%Ô%Ð%Ð%Õ%Ô%ˆ~Ñ%Ô%Ð%Õ%Ô%ˆ~Ñ%Ô%Ð%Ð%Õ%Ô% Ñ%Ô%Ð%Ð%Ñ%Ð%Ð%Ð%Ð%Ð%Ñ%Ð%Õ%Õ%Ô%Ð%Ñ%Ô%Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð%r9   c           
      óŒ  — t          ¦   «         }t          dt          j        dddddd¬¦  «        }t          d	t          j        d
ddddd¬¦  «        }|                     |¦  «         |                     |¦  «         |                     dd¬¦  «         |                     ¦   «         }t          d|z   ¦  «         d}||v }|s—t          j
        d|fd||f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚dx}}d}||v }|s—t          j
        d|fd||f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚dx}}d}||v }|s—t          j
        d|fd||f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚dx}}d}||v }|s—t          j
        d|fd||f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚dx}}dS )zˆ
        Mo phong quan tri 10 slots va in bang trang thai Rule 5:
        [MO PHONG THUAT TOAN HEADLESS - KHONG PHAI LIVE GAME]
        Úord_active_1r>   rW   rX   rY   rZ   r[   rA   Úord_active_2r<   r—   é   r?   iâ  r   ry   ú
z5[MO PHONG THUAT TOAN HEADLESS - KHONG PHAI LIVE GAME]r^   r`   Ú	board_strrb   rN   r   Nz(Occupied): 2 / 10z(Available): 8 / 10zREADY TO CLAIM)r   r   r   ri   re   rf   rƒ   Úformat_ascii_order_boardÚprintr!   r"   r&   r#   r$   r%   r'   r(   )
r.   Úcapsysr   rt   ru   r¢   rq   rk   rl   r2   s
             r7   Ú-test_format_ascii_order_board_rule5_compliantzETestFaustusOrderManager.test_format_ascii_order_board_rule5_compliantº   sõ  € õ
 &Ñ'Ô'ˆåØ#Ý*ÔBØ%ØØ%Ø !Ø#Ø"ð	
ñ 	
ô 	
ˆõ Ø#Ý*Ô8Ø*ØØ$Ø "ØØ#ð	
ñ 	
ô 	
ˆð 	×Ò˜RÑ Ô Ð Ø×Ò˜RÑ Ô Ð ð 	×#Ò#¨A¸QÐ#Ñ?Ô?Ð?à×4Ò4Ñ6Ô6ˆ	Ýˆd�YÑÑÔÐð GÐSÐFÈ)ÐSÐSÐSÐSÕSÔSÐSÐSÐSÐSÐFÈ)ÐSÑSÔSÕSÔSÐFÑSÔSÐSÕSÔSÑSÔSÐSÐSÕSÔSÈ)ÑSÔSÐSÕSÔSÈ)ÑSÔSÐSÐSÐSÐSÑSÐSÐSÐSÐSÐSÑSÐSÕSÕSÔSÐSÑSÔSÑSÔSÐSÐSÐSÐSÐSØ#Ð0Ð# yÐ0Ð0Ð0Ð0Õ0Ô0Ð0Ð0Ð0Ð0Ð# yÐ0Ñ0Ô0Õ0Ô0Ð#Ñ0Ô0Ð0Õ0Ô0Ñ0Ô0Ð0Ð0Õ0Ô0 yÑ0Ô0Ð0Õ0Ô0 yÑ0Ô0Ð0Ð0Ð0Ð0Ñ0Ð0Ð0Ð0Ð0Ð0Ñ0Ð0Õ0Õ0Ô0Ð0Ñ0Ô0Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ø$Ð1Ð$¨	Ð1Ð1Ð1Ð1Õ1Ô1Ð1Ð1Ð1Ð1Ð$¨	Ð1Ñ1Ô1Õ1Ô1Ð$Ñ1Ô1Ð1Õ1Ô1Ñ1Ô1Ð1Ð1Õ1Ô1¨	Ñ1Ô1Ð1Õ1Ô1¨	Ñ1Ô1Ð1Ð1Ð1Ð1Ñ1Ð1Ð1Ð1Ð1Ð1Ñ1Ð1Õ1Õ1Ô1Ð1Ñ1Ô1Ñ1Ô1Ð1Ð1Ð1Ð1Ð1ØÐ,Ð 9Ð,Ð,Ð,Ð,Õ,Ô,Ð,Ð,Ð,Ð,Ð 9Ð,Ñ,Ô,Õ,Ô,ÐÑ,Ô,Ð,Õ,Ô,Ñ,Ô,Ð,Ð,Õ,Ô, 9Ñ,Ô,Ð,Õ,Ô, 9Ñ,Ô,Ð,Ð,Ð,Ð,Ñ,Ð,Ð,Ð,Ð,Ð,Ñ,Ð,Õ,Õ,Ô,Ð,Ñ,Ô,Ñ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,Ð,r9   c           
      óò  — ddl m }m} t          ¦   «         }t          dt          j        dddddd	¬
¦  «        }|                     |¦  «        \  }}}d}||u }	|	s—t          j        d|	fd||f¦  «        dt          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }
dd|
iz  }t          t          j        |¦  «        ¦  «        ‚dx}	}d}||k    }	|	s—t          j        d|	fd||f¦  «        dt          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }
dd|
iz  }t          t          j        |¦  «        ¦  «        ‚dx}	}|                     ¦   «         }| |d¬¦  «        z   }|                     d|¬¦  «        }t#          |¦  «        }d}||k    }|sòt          j        d|fd||f¦  «        dt          j
        ¦   «         v st          j        t"          ¦  «        rt          j        t"          ¦  «        nddt          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}|d         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         }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         d%         }||v }|slt          j        d&|fd'||f¦  «        t          j        |¦  «        t          j        |¦  «        d!œz  }d"d#|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}|j        d         }|j        }d}||u }|st          j        d|fd(||f¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d)œz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}x}}|j        }	d}|	|k    }|sªt          j        d|fd*|	|f¦  «        d+t          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd+t          j        |	¦  «        t          j        |¦  «        d,œz  }d-d.|iz  }t          t          j        |¦  «        ¦  «        ‚dx}	x}}|j        }	t,          j        }|	|k    }|sòt          j        d|fd/|	|f¦  «        d0t          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd0t          j        |	¦  «        d1t          j
        ¦   «         v st          j        t,          ¦  «        rt          j        t,          ¦  «        nd1t          j        |¦  «        d2œz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}	x}}dS )3zYKiem tra quy tac Time-To-Live (TTL = 1 Map ~ 180s): tu dong huy lenh treo de thu hoi von.r   )ÚdatetimeÚ	timedeltaÚord_stuck_ttlr>   é–   rX   rY   gOè´�N{?i,  rA   Tr   rJ   ÚokrL   rN   r   Nr   )z%(py0)s == %(py3)srO   r�   )Úsecondsg     €f@)Úmax_ttl_secÚnowr|   r}   Ú	cancelledr   rT   rU   )z%(py1)s == %(py4)s)rc   r   zassert %(py6)srS   zhet han TTLrx   r^   )z%(py1)s in %(py4)sr‚   r{   r   r   r   r   r   r\   rQ   r   rR   )r¨   r©   r   r   r   ri   rf   r!   r"   r#   r$   r%   r&   r'   r(   r¯   Úcancel_expired_ordersr}   r,   r-   r)   rg   r   rj   )r.   r¨   r©   r   rQ   r¬   ra   rO   rk   r/   rl   r2   Út_subÚt_futurer°   r5   r0   ro   rp   rq   r1   rn   r3   s                          r7   Útest_cancel_expired_orders_ttlz6TestFaustusOrderManager.test_cancel_expired_orders_ttlä   s  € à0Ð0Ð0Ð0Ð0Ð0Ð0Ð0å%Ñ'Ô'ˆÝØ$Ý*ÔBØ%ØØ%Ø !Ø#Ø"ð	
ñ 	
ô 	
ˆð #×/Ò/°Ñ6Ô6ÑˆˆC�ØÐˆr�TˆzÐÐÐÕÔÐÐÐÐˆr�TÐÑÔÐÕÔÑÔÐÐÕÔˆrÑÔÐÕÔˆrÑÔÐÐÕÔ�TÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØÐˆw˜!Š|ÐÐÐÕÔÐÐÐÐˆw˜!ÐÑÔÐÕÔÑÔÐÐÕÔˆwÑÔÐÕÔˆwÑÔÐÐÕÔ˜!ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐð —’‘”ˆØ˜9˜9¨SÐ1Ñ1Ô1Ñ1ˆð ×1Ò1¸eÈÐ1ÑRÔRˆ	Ý�9‰~Œ~Ð" Ð"ˆ~ Ò"Ð"Ð"Ð"Õ"Ô"Ð"Ð"Ð"Ð"ˆ~ Ð"Ñ"Ô"Ð"Õ"Ô"Ñ"Ô"Ð"Ð"Õ"Ô"�sÑ"Ô"Ð"Õ"Ô"�sÑ"Ô"Ð"Ð"Ð"Õ"Ô"Ñ"Ô"Ð"Ð"Õ"Ô"�9Ñ"Ô"Ð"Õ"Ô"�9Ñ"Ô"Ð"Ð"Õ"Ô"ˆ~Ñ"Ô"Õ"Ô" Ñ"Ô"Ð"Ð"Ñ"Ð"Ð"Ð"Ð"Ð"Ñ"Ð"Õ"Õ"Ô"Ð"Ñ"Ô"Ñ"Ô"Ð"Ð"Ð"Ð"Ð"Ð"Ð"Ø˜Œ|˜AŒÐ# !Ð#ˆ !Ò#Ð#Ð#Ð#Õ#Ô#Ð#Ð#Ð#Ð#ˆ !Ð#Ñ#Ô#Õ#Ô#ˆÑ#Ô#Õ#Ô# !Ñ#Ô#Ð#Ð#Ñ#Ð#Ð#Ð#Ð#Ð#Ñ#Ð#Õ#Õ#Ô#Ð#Ñ#Ô#Ñ#Ô#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ø˜Œ|˜AŒÐ1 /Ð1ˆ /Ò1Ð1Ð1Ð1Õ1Ô1Ð1Ð1Ð1Ð1ˆ /Ð1Ñ1Ô1Õ1Ô1ˆÑ1Ô1Õ1Ô1 /Ñ1Ô1Ð1Ð1Ñ1Ð1Ð1Ð1Ð1Ð1Ñ1Ð1Õ1Õ1Ô1Ð1Ñ1Ô1Ñ1Ô1Ð1Ð1Ð1Ð1Ð1Ð1Ð1ØÐ/ 	¨!¤¨Q¤Ð/ˆ} Ð/Ð/Ð/Ð/Õ/Ô/Ð/Ð/Ð/Ð/ˆ} Ð/Ñ/Ô/Õ/Ô/ˆ}Ñ/Ô/Õ/Ô/ Ñ/Ô/Ð/Ð/Ñ/Ð/Ð/Ð/Ð/Ð/Ñ/Ð/Õ/Õ/Ô/Ð/Ñ/Ô/Ñ/Ô/Ð/Ð/Ð/Ð/Ð/Ð/Ð/ð Œ}˜QÔÐ0ÐÔ(Ð0¨DÐ0Ð(¨DÐ0Ð0Ð0Ð0Õ0Ô0Ð0Ð0Ð0Ð0Ð(¨DÐ0Ñ0Ô0Õ0Ô0ÐÑ0Ô0Õ0Ô0Ð(Ñ0Ô0Õ0Ô0¨DÑ0Ô0Ð0Ð0Ñ0Ð0Ð0Ð0Ð0Ð0Ñ0Ð0Õ0Õ0Ô0Ð0Ñ0Ô0Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0ØÔ+Ð0¨qÐ0Ð+¨qÒ0Ð0Ð0Ð0Õ0Ô0Ð0Ð0Ð0Ð0Ð+¨qÐ0Ñ0Ô0Ð0Õ0Ô0Ñ0Ô0Ð0Ð0Õ0Ô0ˆwÑ0Ô0Ð0Õ0Ô0ˆwÑ0Ô0Ð0Ð0Õ0Ô0Ð+Ñ0Ô0Õ0Ô0¨qÑ0Ô0Ð0Ð0Ñ0Ð0Ð0Ð0Ð0Ð0Ñ0Ð0Õ0Õ0Ô0Ð0Ñ0Ô0Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0Ð0ØŒ|Ð<Õ2Ô<Ð<ˆ|Ð<Ò<Ð<Ð<Ð<Õ<Ô<Ð<Ð<Ð<Ð<ˆ|Ð<Ð<Ñ<Ô<Ð<Õ<Ô<Ñ<Ô<Ð<Ð<Õ<Ô<ˆuÑ<Ô<Ð<Õ<Ô<ˆuÑ<Ô<Ð<Ð<Õ<Ô<ˆ|Ñ<Ô<Ð<Õ<Ô<Ñ<Ô<Ð<Ð<Õ<Ô<Õ2Ñ<Ô<Ð<Õ<Ô<Õ2Ñ<Ô<Ð<Ð<Õ<Ô<Ð<Ñ<Ô<Ð<Ð<Ñ<Ð<Ð<Ð<Ð<Ð<Ñ<Ð<Õ<Õ<Ô<Ð<Ñ<Ô<Ñ<Ô<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<r9   N)	Ú__name__Ú
__module__Ú__qualname__r8   rr   r‰   rœ   r¦   r´   © r9   r7   r   r      sr   € € € € € ð&ð &ð &ð($ð ($ð ($ðT81ð 81ð 81ðt/&ð /&ð /&ðb(-ð (-ð (-ðT!=ð !=ð !=ð !=ð !=r9   r   )Ú__doc__Úbuiltinsr#   Ú_pytest.assertion.rewriteÚ	assertionÚrewriter!   ÚpytestÚ+src.assistant_tool.currency_exchange.modelsr   r   r   r   Ú:src.assistant_tool.currency_exchange.faustus_order_managerr   r   r	   r   r¸   r9   r7   ú<module>rÁ      sÞ   ðð	ð 	ð € € € € € € € € € € € € €€€€ðð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ðk=ð k=ð k=ð k=ð k=ñ k=ô k=ð k=ð k=ð k=r9   