§
    ·�»j®
  ã                   ó~   — d Z ddlZddlmZmZmZmZ  G d„ dej        ¦  «        Ze	dk    r ej
        ¦   «          dS dS )z©
Unit tests for FreeExile Mathematical Economic Simulation & Anti-Inflation Engine.
Validates Faucets vs Sinks equilibrium, Trade Tax Burn, and Inflation Stabilization.
é    N)ÚEconomicSimulationEngineÚEconomyStateÚCurrencyFlowTypeÚDailySimulationReportc                   ó2   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestEconomicSimulationEnginec                 ó0   — t          d¬¦  «        | _        d S )Né€–˜ )Úinitial_currency_supply)r   Úengine)Úselfs    ú<C:\Projects\FreeExile\tests\unit\test_economic_simulation.pyÚsetUpz"TestEconomicSimulationEngine.setUp   s   € Ý.ÀzÐRÑRÔRˆŒˆˆó    c                 óØ   — | j                              ¦   «         }|                      |j        d¦  «         |                      |j        d¦  «         |                      |j        ¦  «         d S )Nr
   ç      ð?)r   Ú	get_stateÚassertEqualÚtotal_supplyÚsink_efficiency_ratioÚassertFalseÚhyperinflation_warning)r   Ústates     r   Útest_initial_state_metricsz7TestEconomicSimulationEngine.test_initial_state_metrics   sd   € Ø”×%Ò%Ñ'Ô'ˆØ×Ò˜Ô+¨ZÑ8Ô8Ð8Ø×Ò˜Ô4°cÑ:Ô:Ð:Ø×Ò˜Ô5Ñ6Ô6Ð6Ð6Ð6r   c                 óæ   — | j                              dddd¬¦  «        }|                      |j        dd¬¦  «         |                      |j        d	¦  «         |                      |j        ¦  «         d S )
Né@B i 5 iðI éPÃ  ©Úfaucets_generatedÚcrafting_sinkÚtrade_tax_sinkÚmap_device_sinkr   é   )Úplacesr   )r   Úsimulate_dayÚassertAlmostEqualr   r   Únet_currency_deltar   Úhyperinflation_detected©r   Úreports     r   Útest_simulate_balanced_dayz7TestEconomicSimulationEngine.test_simulate_balanced_day   s‚   € ð ”×)Ò)Ø'Ø!Ø"Ø"ð	 *ñ 
ô 
ˆð 	×Ò˜vÔ;¸SÈÐÑKÔKÐKØ×Ò˜Ô2°AÑ6Ô6Ð6Ø×Ò˜Ô7Ñ8Ô8Ð8Ð8Ð8r   c                 óâ   — | j                              dddd¬¦  «        }|                      |j        ¦  «         |                      |j        d¦  «         |                      d|j        ¦  «         d S )Ni@KL r   i@ i † r   iÀÆ- ÚDEFICIT_SINK_CRITICAL)r   r%   Ú
assertTruer(   ÚassertGreaterr'   ÚassertInÚaction_recommendationr)   s     r   Ú-test_hyperinflation_triggered_when_sinks_failzJTestEconomicSimulationEngine.test_hyperinflation_triggered_when_sinks_fail&   sx   € à”×)Ò)Ø'Ø#Ø"Ø#ð	 *ñ 
ô 
ˆð 	�Š˜Ô6Ñ7Ô7Ð7Ø×Ò˜6Ô4°iÑ@Ô@Ð@Ø�ŠÐ-¨vÔ/KÑLÔLÐLÐLÐLr   c                 ó  — | j                              ¦   «         j        }d}| j                              |d¬¦  «        }|                      |d¦  «         |                      | j                              ¦   «         j        |dz
  ¦  «         d S )Nr   gš™™™™™©?)Útrade_volumeÚtax_rater   )r   r   r   Úapply_trade_tax_burnr   )r   Úinitial_supplyr4   Úburneds       r   Ú1test_trade_tax_burn_permanently_destroys_currencyzNTestEconomicSimulationEngine.test_trade_tax_burn_permanently_destroys_currency3   s�   € Øœ×.Ò.Ñ0Ô0Ô=ˆØ ˆà”×1Ò1¸|ÐVZÐ1Ñ[Ô[ˆØ×Ò˜ Ñ(Ô(Ð(Ø×Ò˜œ×.Ò.Ñ0Ô0Ô=¸~ÐPVÑ?VÑWÔWÐWÐWÐWr   c                 ó¨   — | j                              d¬¦  «        }|                      |j        d¦  «         |                      |j        d¦  «         d S )Ng      à?)Úcurrent_serr   )r   Ú"calculate_dynamic_sink_multipliersr/   Úcrafting_cost_multiplierÚmap_device_fee_multiplier)r   Úmultiplierss     r   Útest_dynamic_sink_auto_adjusterz<TestEconomicSimulationEngine.test_dynamic_sink_auto_adjuster;   sS   € à”k×DÒDÐQTÐDÑUÔUˆØ×Ò˜;Ô?ÀÑEÔEÐEØ×Ò˜;Ô@À#ÑFÔFÐFÐFÐFr   N)	Ú__name__Ú
__module__Ú__qualname__r   r   r+   r2   r9   r@   © r   r   r   r      s|   € € € € € ðSð Sð Sð7ð 7ð 7ð9ð 9ð 9ðMð Mð MðXð Xð XðGð Gð Gð Gð Gr   r   Ú__main__)Ú__doc__ÚunittestÚ'server.world.economic_simulation_enginer   r   r   r   ÚTestCaser   rA   ÚmainrD   r   r   ú<module>rK      s²   ððð ð
 €€€ðð ð ð ð ð ð ð ð ð ð ð ð0Gð 0Gð 0Gð 0Gð 0G 8Ô#4ñ 0Gô 0Gð 0Gðf ˆzÒÐØ€H„M�O„O€O€O€Oð Ðr   