a ze@sddlZddlZddlZddlZddlZddlmZddlm Z ej j Z ej jZGdddejZGdddejZedkredS) N)Decimal)Fractionc@sLeZdZddZddZddZddZd d Zd d Zd dZ ddZ dS)HashTestcCs.|t|t|d|||||dS)Nz&got different hashes for {!r} and {!r}) assertEqualhashformat)selfxyr K/opt/bitninja-python-dojo/embedded/lib/python3.9/test/test_numeric_tower.pycheck_equal_hashs zHashTest.check_equal_hashcCs|dd|dddS)NFrT)r rr r r test_boolss zHashTest.test_boolscCstddD]4}||t|||t|||t|q tdD]}d|d}|tt|kr||t||| t| ||t|||t||| t| || t| d|}||t||| t| ||t|||t||| t| || t| qHtdD]h}td}td| d|}||t|||t||tt|krT||t|qTdS)Nidri, )ranger floatDFintrandom randrange)rin_er r r test_integerss6   zHashTest.test_integerscCs|dd|dtd|dtd|dtd|dtd|tdtd|tdtdtdD]F}tttdd }||t|||t|q|dS) Nrz-0.0inf-infrgi@gY@) r rrrrrmathexpZ from_float)rrr r r r test_binary_floatsBs  zHashTest.test_binary_floatsc CsFddddddtdtdg}d D] }|D]}||t||q(q dS) Nr!r"?gg?gr#r$)r"r!)rr complex)r test_valueszerovaluer r r test_complexWs   zHashTest.test_complexcCsgd}|D]}|t|tdq |tdtd|tdtd|tdtd|tdtd|td td |td td |td td |td td |tdtd |tdtd dS)N)0z-0z0.0z-0.0e10z000e-10rz1.00rz1.00000z-1.00z-1.00000Z123e2i 0Z1230e1Z12300z12300.0z12300.00z 12300.000)r r)rZzerosr+r r r test_decimalsbszHashTest.test_decimalscCsh|ttdtt|ttddtt |ttdtdd|ttt dddS)Nrr/r)rrr_PyHASH_MODULUS _PyHASH_INFrr r r test_fractionstszHashTest.test_fractionscCs,Gddd}d|h}|t|ddS)Nc@seZdZddZddZdS)z6HashTest.test_hash_normalization..HalibutProxycSstdSNhalibut)rrr r r __hash__sz?HashTest.test_hash_normalization..HalibutProxy.__hash__cSs|dkSr6r )rotherr r r __eq__sz=HashTest.test_hash_normalization..HalibutProxy.__eq__N)__name__ __module__ __qualname__r8r:r r r r HalibutProxysr>r7r)rlen)rr>r r r r test_hash_normalization|s  z HashTest.test_hash_normalizationN) r;r<r=r rr r'r-r0r5r@r r r r rs& rc@seZdZddZddZdS)ComparisonTestcCstdtddtdddddd d td td td tddtdtddtdddtdg}t|D]N\}}||ddD]4}||||||||||||q|qddS)Nr$z -1e425000000gir2gQ r!gTz1.2z1.3z1.4i_5iz1.414213562373095048801688724iCi;i:iJgvܼ5JiZinfinityr)rrr enumerateZ assertLessZassertLessEqualZ assertGreaterZassertGreaterEqual)rr*rfirstsecondr r r test_mixed_comparisonss2   z%ComparisonTest.test_mixed_comparisonsc Csd}d}ddtdtdtdfD]}||||||q"ddtdtdtdfD]4}||||||||||||qZddtdtdtdddtdtdtd|f D]>}tjtjtjtj fD]$}| t |||| t |||qqdS)Ny?yQ @rr(rg@) rrr)rZassertNotEqualoperatorleltgegtZ assertRaises TypeError)rzwvopr r r r-s     zComparisonTest.test_complexN)r;r<r=rFr-r r r r rAsrA__main__)Zunittestrr%sysrGdecimalrrZ fractionsrr hash_infomodulusr3r#r4ZTestCaserrAr;mainr r r r s  8