§
    jb  ã                  ó`   — d dl mZ d dlZd dlmc mZ d dlm	Z	m
Z
 d dlmZ d
d„Zd
d„Zd
d	„ZdS )é    )ÚannotationsN)ÚMarketUniverseFilterÚselect_scan_coins)Ú	BotConfigÚreturnÚNonec            	     óÒ
  — t          dd¬¦  «        } t          | ¦  «        }|j        }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        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d
œz  }dd|iz  }	t          t          j
        |	¦  «        ¦  «        ‚d x}x}x}x}x}}|j        }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        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d
œz  }dd|iz  }	t          t          j
        |	¦  «        ¦  «        ‚d x}x}x}x}x}}|j        }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        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d
œz  }dd|iz  }	t          t          j
        |	¦  «        ¦  «        ‚d x}x}x}x}x}}|j        }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        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d
œz  }dd|iz  }	t          t          j
        |	¦  «        ¦  «        ‚d x}x}x}x}x}}|j        }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        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d
œz  }dd|iz  }	t          t          j
        |	¦  «        ¦  «        ‚d x}x}x}x}x}}d S )N©ÚBADé€–˜ )Ú	blacklistÚmin_volume_24hÚBTCi€ðúT)Úis)zW%(py8)s
{%(py8)s = %(py2)s
{%(py2)s = %(py0)s.allowed
}(%(py4)s, %(py6)s)
} is %(py11)sÚfilt)Úpy0Úpy2Úpy4Úpy6Úpy8Úpy11zassert %(py13)sÚpy13z@123Fr   ÚLOWi@B ÚUSDC)r   r   ÚallowedÚ
@pytest_arÚ_call_reprcompareÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚ	_safereprÚAssertionErrorÚ_format_explanation)
Úcfgr   Ú@py_assert1Ú@py_assert3Ú@py_assert5Ú@py_assert7Ú@py_assert10Ú@py_assert9Ú@py_format12Ú@py_format14s
             úP/home/agent/projects/CryptoTradingBot/Crypto_Agent/tests/test_market_universe.pyÚBtest_market_universe_filter_rejects_internal_symbols_and_blacklistr.      s:  € Ý
˜h°zÐ
BÑ
BÔ
B€CÝ Ñ$Ô$€DàŒ<Ð2˜Ð2˜zÐ2ˆ<ˆ<˜˜zÑ*Ô*Ð2¨dÐ2Ð*¨dÐ2Ð2Ð2Ð2Õ2Ô2Ð2Ð2Ð2Ð2Ð*¨dÐ2Ñ2Ô2Ð2Õ2Ô2Ñ2Ô2Ð2Ð2Õ2Ô2ˆ4Ñ2Ô2Ð2Õ2Ô2ˆ4Ñ2Ô2Ð2Ð2Õ2Ô2ˆ<Ñ2Ô2Õ2Ô2˜Ñ2Ô2Õ2Ô2˜zÑ2Ô2Õ2Ô2Ð*Ñ2Ô2Õ2Ô2¨dÑ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ØŒ<Ð4˜Ð4 
Ð4ˆ<ˆ<˜ 
Ñ+Ô+Ð4¨uÐ4Ð+¨uÐ4Ð4Ð4Ð4Õ4Ô4Ð4Ð4Ð4Ð4Ð+¨uÐ4Ñ4Ô4Ð4Õ4Ô4Ñ4Ô4Ð4Ð4Õ4Ô4ˆ4Ñ4Ô4Ð4Õ4Ô4ˆ4Ñ4Ô4Ð4Ð4Õ4Ô4ˆ<Ñ4Ô4Õ4Ô4˜Ñ4Ô4Õ4Ô4 
Ñ4Ô4Õ4Ô4Ð+Ñ4Ô4Õ4Ô4¨uÑ4Ô4Ð4Ð4Ñ4Ð4Ð4Ð4Ð4Ð4Ñ4Ð4Õ4Õ4Ô4Ð4Ñ4Ô4Ñ4Ô4Ð4Ð4Ð4Ð4Ð4Ð4Ð4Ð4Ð4Ð4Ð4Ð4Ð4ØŒ<Ð3˜Ð3˜zÐ3ˆ<ˆ<˜˜zÑ*Ô*Ð3¨eÐ3Ð*¨eÐ3Ð3Ð3Ð3Õ3Ô3Ð3Ð3Ð3Ð3Ð*¨eÐ3Ñ3Ô3Ð3Õ3Ô3Ñ3Ô3Ð3Ð3Õ3Ô3ˆ4Ñ3Ô3Ð3Õ3Ô3ˆ4Ñ3Ô3Ð3Ð3Õ3Ô3ˆ<Ñ3Ô3Õ3Ô3˜Ñ3Ô3Õ3Ô3˜zÑ3Ô3Õ3Ô3Ð*Ñ3Ô3Õ3Ô3¨eÑ3Ô3Ð3Ð3Ñ3Ð3Ð3Ð3Ð3Ð3Ñ3Ð3Õ3Õ3Ô3Ð3Ñ3Ô3Ñ3Ô3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ð3ØŒ<Ð2˜Ð2˜yÐ2ˆ<ˆ<˜˜yÑ)Ô)Ð2¨UÐ2Ð)¨UÐ2Ð2Ð2Ð2Õ2Ô2Ð2Ð2Ð2Ð2Ð)¨UÐ2Ñ2Ô2Ð2Õ2Ô2Ñ2Ô2Ð2Ð2Õ2Ô2ˆ4Ñ2Ô2Ð2Õ2Ô2ˆ4Ñ2Ô2Ð2Ð2Õ2Ô2ˆ<Ñ2Ô2Õ2Ô2˜Ñ2Ô2Õ2Ô2˜yÑ2Ô2Õ2Ô2Ð)Ñ2Ô2Õ2Ô2¨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ØŒ<Ð4˜Ð4 
Ð4ˆ<ˆ<˜ 
Ñ+Ô+Ð4¨uÐ4Ð+¨uÐ4Ð4Ð4Ð4Õ4Ô4Ð4Ð4Ð4Ð4Ð+¨uÐ4Ñ4Ô4Ð4Õ4Ô4Ñ4Ô4Ð4Ð4Õ4Ô4ˆ4Ñ4Ô4Ð4Õ4Ô4ˆ4Ñ4Ô4Ð4Ð4Õ4Ô4ˆ<Ñ4Ô4Õ4Ô4˜Ñ4Ô4Õ4Ô4 
Ñ4Ô4Õ4Ô4Ð+Ñ4Ô4Õ4Ô4¨uÑ4Ô4Ð4Ð4Ñ4Ð4Ð4Ð4Ð4Ð4Ñ4Ð4Õ4Õ4Ô4Ð4Ñ4Ô4Ñ4Ô4Ð4Ð4Ð4Ð4Ð4Ð4Ð4Ð4Ð4Ð4Ð4Ð4Ð4Ð4Ð4ó    c                 óà  — t          ddd¬¦  «        } ddddd	d
œ}t          || ¦  «        }ddg}||k    }|s0t          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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 )Nr   )ÚETHr   ÚSOLé   )r   Úallowed_coinsÚmax_scan_coinsi áõi Âëi€ÑðéÀ‡‹;i £á)r   r1   r2   z@1ÚDOGEr1   r2   ©ú==©z9%(py4)s
{%(py4)s = %(py0)s(%(py1)s, %(py2)s)
} == %(py7)sr   Úvolumesr$   ©r   Úpy1r   r   Úpy7úassert %(py9)sÚpy9©
r   r   r   r   r   r   r    r!   r"   r#   ©r$   r;   r&   Ú@py_assert6r'   Ú@py_format8Ú@py_format10s          r-   Ú5test_select_scan_coins_uses_whitelist_then_volume_caprF      sž  € Ý
Ø!Ø+Øðñ ô €Cð
 "¨+¸kÐQ\ÐfqÐrÐr€Gå˜W cÑ*Ô*Ð<¨u°e¨nÐ<Ð*¨nÒ<Ð<Ð<Ñ<Õ<Ô<Ð<Ð<Ð<Ð<Ð*¨nÐ<Ñ<Ô<Ð<Õ<Ô<Ñ<Ô<Ð<Ð<Õ<Ô<ÕÑ<Ô<Ð<Õ<Ô<ÕÑ<Ô<Ð<Ð<Ð<Õ<Ô<Ñ<Ô<Ð<Ð<Õ<Ô<˜WÑ<Ô<Ð<Õ<Ô<˜WÑ<Ô<Ð<Ð<Ð<Õ<Ô<Ñ<Ô<Ð<Ð<Õ<Ô< cÑ<Ô<Ð<Õ<Ô< cÑ<Ô<Ð<Ð<Õ<Ô<Ð*Ñ<Ô<Õ<Ô<¨nÑ<Ô<Ð<Ð<Ñ<Ð<Ð<Ð<Ð<Ð<Ñ<Ð<Õ<Õ<Ô<Ð<Ñ<Ô<Ñ<Ô<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<r/   c                 óæ  — t          dddd¬¦  «        } dddd	d
dddœ}t          || ¦  «        }g d¢}||k    }|s0t          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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 )Nr   © é   r
   )r   r4   r5   r   i@T‰ i€ÃÉr6   i é¤5i -1i Zbi@x})r   r1   z@2ÚUSDTr2   r   ÚHYPE)r1   rK   r2   r8   r:   r   r;   r$   r<   r?   r@   rA   rB   s          r-   ÚJtest_select_scan_coins_without_whitelist_sorts_by_volume_and_filters_noiserL      s°  € Ý
 :¸RÐPQÐ]eÐ
fÑ
fÔ
f€CØ¨
¸+È{Ðcmð  wAð  KUð  Vð  V€Gå˜W cÑ*Ô*ÐDÐ.DÐ.DÐ.DÐDÐ*Ð.DÒDÐDÐDÑDÕDÔDÐDÐDÐDÐDÐ*Ð.DÐDÑDÔDÐDÕDÔDÑDÔDÐDÐDÕDÔDÕÑDÔDÐDÕDÔDÕÑDÔDÐDÐDÐDÕDÔDÑDÔDÐDÐDÕDÔD˜WÑDÔDÐDÕDÔD˜WÑDÔDÐDÐDÐDÕDÔDÑDÔDÐDÐDÕDÔD cÑDÔDÐDÕDÔD cÑDÔDÐDÐDÕDÔDÐ*ÑDÔDÕDÔDÐ.DÑDÔDÐDÐDÑDÐDÐDÐDÐDÐDÑDÐDÕDÕDÔDÐDÑDÔDÑDÔDÐDÐDÐDÐDÐDÐDÐDÐDÐDr/   )r   r   )Ú
__future__r   Úbuiltinsr   Ú_pytest.assertion.rewriteÚ	assertionÚrewriter   Úmarket_universer   r   Úconfigr   r.   rF   rL   rH   r/   r-   ú<module>rT      s¨   ðØ "Ð "Ð "Ð "Ð "Ð "à  € € € € € € € € € € € € Ð CÐ CÐ CÐ CÐ CÐ CÐ CÐ CØ Ð Ð Ð Ð Ð ð5ð 5ð 5ð 5ð=ð =ð =ð =ðEð Eð Eð Eð Eð Er/   