R
    ½³×j#  c                   óè  €   ] PH s] PHGt Gs ] QHGs ] PH s] QH$G
s
 \O                  O                  Q, QJN2      Q 2       s\O                  O                  QK, QLN2      Q 2       s\O                  O                  Q, QMN2      Q 2       s\O                  O                  Q, QNN2      Q	 2       s\O                  O                  QK, QON2      Q 2       s\O                  O                  QK, QPN2      Q 2       s\O                  O                  QKQ\ Q2      1Q\ Q2      1Q\ Q2      1Q\ Q
2      1Q\ Q
2      1Q\ Q2      1Q\ Q2      1Q\ Q2      1Q\ Q2      1,	2      Q 2       s] QHGs ] PH s\O                  O                  QQ, QRN2      Q 2       s\O                  O                  QQ, QSN2      Q 2       s\O                  O                  QQ, QTN2      Q 2       s\O                  O                  QQ, QUN2      Q 2       s\O                  O                  QV\ Q 2      ]Q!Q1\ Q"2      ]Q!Q#1\ Q$2      ]Q!Q%1\ Q&2      ] Q!Q'1\ ]}2      PQ!Q(1\ Q 2      ]Q)Q1\ Q"2      ]Q)Q#1\ Q*2      ]Q)Q+1\ Q,2      ]Q)Q-1\ Q.2      ]Q)Q/1\ Q02      ]Q)Q11,2      Q2 2       sQ3 sQ4 s\O                  O                  QW, QXN2      Q5 2       sQ6 s\O                  O                  QYQ7\ Q72      1Q8\ Q82      1Q9\ Q92      1Q:\ Q;2      1,2      Q< 2       sQ= sQ> s\O                  O                  Q?Q@ QA QB QC ,2      QD 2       s QE s!QF s"QG s#QH s$\O                  O                  Q, QZN2      QI 2       s%P! )[é    )ÚDecimal)Ú	SigFigNumÚnumÚ0ú1.5e3c                óÒ  €   [        U 2      oUO                  p O                  p3 2       pBU6H  pU%       Cf+   [        O                   Q
U1QV$12      QQ[
        O                   2       7   f   [        O                   U2      %       c   [        O                   U2      LQQ[        O                   U2      QQ[
        O                   2       7   f   [        O                   U 2      %       c   [        O                   U 2      LQQ[        O                   U2      Q[        O                   U2      -*          oQQ	U-*          o[        [        O                   U2      2      gP9o9o9q4P! )z>Accept valid integer, decimal, and scientific notation inputs.Úpy0ÚnumberÚpy2Úpy4r   Úpy6Úpy8úassert %(py10)sÚpy10©ú==)za%(py2)s
{%(py2)s = %(py0)s.num_str
} == %(py8)s
{%(py8)s = %(py6)s
{%(py6)s = %(py4)s.lower
}()
})r   Únum_strÚlowerÚ
@pytest_arÚ_call_reprcompareÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚ	_safereprÚAssertionErrorÚ_format_explanation)r   r	   Ú@py_assert1Ú@py_assert5Ú@py_assert7Ú@py_assert3Ú@py_format9Ú@py_format11s   &       Ú>C:\Users\brusi\Desktop\python\one_offs\sigfigs\test_sigfigs.pyÚtest_valid_numbersr#   	   sµ   � ô( �s‹^€FØ�>‰>Ð(ŸY™YÐ(˜Y›[Ð(˜[Ñ(×(×(×(Ô(ˆ>×(×(×(×(×(×(ˆ6×(×(×(Ò(ˆ6×(×(Ö(ˆ>×(×(×(×(×(Ö(˜S×(×(×(Ò(˜S×(×(Ö(˜Y×(×(Ô(˜[×(×(×(×(×(×(×(Ö(ó    c                ó*  €   [        U 2      p"O                  p3U6H  pD%       Cfk   [        O                   QU1QV112      QQ[        O
                   2       7   f!   [        O                   [         2      %       c   [        O                   [         2      LQQQ[        O
                   2       7   f   [        O                   U 2      %       c   [        O                   U 2      LQQ[        O                   U2      Q[        O                   U2      QQ[        O
                   2       7   f   [        O                   U2      %       c   [        O                   U2      LQ-*          oQ	Q
U-*          o[        [        O                   U2      2      gP9o9q4P! )z(Normalize uppercase scientific notation.r   r   Úpy1r   Úpy3Úpy5Úpy7Úexpectedúassert %(py9)sÚpy9r   ©zM%(py5)s
{%(py5)s = %(py3)s
{%(py3)s = %(py0)s(%(py1)s)
}.num_str
} == %(py7)s©
r   r   r   r   r   r   r   r   r   r   ©r   r*   Ú@py_assert2Ú@py_assert4Ú@py_assert6Ú@py_format8Ú@py_format10s   &&     r"   Útest_num_str_normalizedr5   !   sÃ   � ô �S‹>Ð-×!Ñ!Ð- XÑ-×-×-×-Ô-Ð!×-×-×-×-×-×-Œ9×-×-×-Ò-Œ9×-×-×-×-×-×-Ð-�S×-×-×-Ò-�S×-×-Ö-ˆ>×-×-Ô-Ð!×-×-×-×-×-Ö- X×-×-×-Ò- X×-×-×-×-×-×-×-Ö-r$   c                ó*  €   [        U 2      pO                  p"U 6H  p3%       Cfk   [        O                   Q
U1QV 12      QQ[        O
                   2       7   f!   [        O                   [         2      %       c   [        O                   [         2      LQQQ[        O
                   2       7   f   [        O                   U 2      %       c   [        O                   U 2      LQQ[        O                   U2      Q[        O                   U2      QQ[        O
                   2       7   f   [        O                   U 2      %       c   [        O                   U 2      LQ-*          oQQ	U-*          o[        [        O                   U2      2      gP9o9q#P! )z=Preserve significant trailing zeros in the normalized string.r   r   r&   r   r'   r(   r)   r+   r,   r   r-   r.   )r   r0   r1   r2   r3   r4   s   &     r"   Ú/test_valid_input_preserves_digit_representationr7   /   sÃ   � ô �S‹>Ð(×!Ñ!Ð( SÑ(×(×(×(Ô(Ð!×(×(×(×(×(×(Œ9×(×(×(Ò(Œ9×(×(×(×(×(×(Ð(�S×(×(×(Ò(�S×(×(Ö(ˆ>×(×(Ô(Ð!×(×(×(×(×(Ö( S×(×(×(Ò( S×(×(×(×(×(×(×(Ö(r$   c                óœ   €   [         O                   [        2      9^tt^ 2        [        U 2       PPP2       P!  ) %       f   h     P! 9 h)z0Reject malformed numeric strings and whitespace.)ÚpytestÚraisesÚ
ValueErrorr   )r   s   &r"   Útest_invalid_numbersr<   ?   s*   � ôB 
�Š”z×	"Õ	"Ü�#Œ÷ 
#×	"×	"Ò	"ús   ¤:ºA	ÁA	ú1500.0ú0.0042c                ó*  €   [        U 2      p"O                  p3U6H  pD%       Cfk   [        O                   QU1QV112      QQ[        O
                   2       7   f!   [        O                   [         2      %       c   [        O                   [         2      LQQQ[        O
                   2       7   f   [        O                   U 2      %       c   [        O                   U 2      LQQ[        O                   U2      Q[        O                   U2      QQ[        O
                   2       7   f   [        O                   U2      %       c   [        O                   U2      LQ-*          oQ	Q
U-*          o[        [        O                   U2      2      gP9o9q4P! )z(Calculate significant figures correctly.r   r   r&   r   r'   r(   r)   r*   r+   r,   r   ©zM%(py5)s
{%(py5)s = %(py3)s
{%(py3)s = %(py0)s(%(py1)s)
}.sigfigs
} == %(py7)s©
r   Úsigfigsr   r   r   r   r   r   r   r   r/   s   &&     r"   Útest_sigfigsrC   f   sÃ   � ô. �S‹>Ð-×!Ñ!Ð- XÑ-×-×-×-Ô-Ð!×-×-×-×-×-×-Œ9×-×-×-Ò-Œ9×-×-×-×-×-×-Ð-�S×-×-×-Ò-�S×-×-Ö-ˆ>×-×-Ô-Ð!×-×-×-×-×-Ö- X×-×-×-Ò- X×-×-×-×-×-×-×-Ö-r$   ú12.34e2ú12.34e-2c                ó*  €   [        U 2      p"O                  p3U6H  pD%       Cfk   [        O                   QU1QV112      QQ[        O
                   2       7   f!   [        O                   [         2      %       c   [        O                   [         2      LQQQ[        O
                   2       7   f   [        O                   U 2      %       c   [        O                   U 2      LQQ[        O                   U2      Q[        O                   U2      QQ[        O
                   2       7   f   [        O                   U2      %       c   [        O                   U2      LQ-*          oQ	Q
U-*          o[        [        O                   U2      2      gP9o9q4P! )z,Calculate the signed decimal-place position.r   r   r&   r   r'   r(   r)   r*   r+   r,   r   )zN%(py5)s
{%(py5)s = %(py3)s
{%(py3)s = %(py0)s(%(py1)s)
}.decimals
} == %(py7)s)
r   Údecimalsr   r   r   r   r   r   r   r   r/   s   &&     r"   Útest_decimalsrH   ‚   sÃ   � ô, �S‹>Ð.×"Ñ"Ð. hÑ.×.×.×.Ô.Ð"×.×.×.×.×.×.Œ9×.×.×.Ò.Œ9×.×.×.×.×.×.Ð.�S×.×.×.Ò.�S×.×.Ö.ˆ>×.×.Ô.Ð"×.×.×.×.×.Ö. h×.×.×.Ò. h×.×.×.×.×.×.×.Ö.r$   Ú12z12.0z-12.5z1.50E3z1234.0z0.1234z-2.5e2z-250.0ú0.0c                ó*  €   [        U 2      p"O                  p3U6H  pD%       Cfk   [        O                   QU1QV112      QQ[        O
                   2       7   f!   [        O                   [         2      %       c   [        O                   [         2      LQQQ[        O
                   2       7   f   [        O                   U 2      %       c   [        O                   U 2      LQQ[        O                   U2      Q[        O                   U2      QQ[        O
                   2       7   f   [        O                   U2      %       c   [        O                   U2      LQ-*          oQ	Q
U-*          o[        [        O                   U2      2      gP9o9q4P! )z(Calculate the numerical value correctly.r   r   r&   r   r'   r(   r)   r*   r+   r,   r   ©zK%(py5)s
{%(py5)s = %(py3)s
{%(py3)s = %(py0)s(%(py1)s)
}.value
} == %(py7)s©
r   Úvaluer   r   r   r   r   r   r   r   r/   s   &&     r"   Ú
test_valuerO   �   sÃ   � ô  �S‹>Ð+×ÑÐ+ 8Ñ+×+×+×+Ô+Ð×+×+×+×+×+×+Œ9×+×+×+Ò+Œ9×+×+×+×+×+×+Ð+�S×+×+×+Ò+�S×+×+Ö+ˆ>×+×+Ô+Ð×+×+×+×+×+Ö+ 8×+×+×+Ò+ 8×+×+×+×+×+×+×+Ö+r$   ú1.23c           	      ón  €   [        U 2      [        U2      *           oUO                  pDU6H  pU%       fÿ   [        O                   QU1Q	VB12      QQ[        O
                   2       7   f   [        O                   U2      %       c   [        O                   U2      LQQ[        O                   U2      QQ[        O
                   2       7   f   [        O                   U2      %       c   [        O                   U2      LQ-*          oQQU-*          o[        [        O                   U2      2      gP9qEP! ©
r   r   Úresultr
   r   r*   zassert %(py6)sr   r   )z/%(py2)s
{%(py2)s = %(py0)s.num_str
} == %(py4)sr.   ©ÚleftÚrightr*   rS   r   r   Ú@py_format5Ú@py_format7s   &&&     r"   Útest_addition_precisionrY   µ   ó›   � ô �t‹_œy¨Ó/Õ/€FØ�>‰>Ð%˜XÑ%×%×%×%Ó%ˆ>×%×%×%×%×%×%ˆ6×%×%×%Ò%ˆ6×%×%Ö%ˆ>×%×%×%×%×%Ö%˜X×%×%×%Ò%˜X×%×%×%×%×%×%×%Ô%r$   c           	      ón  €   [        U 2      [        U2      *
          oUO                  pDU6H  pU%       fÿ   [        O                   QU1Q	VB12      QQ[        O
                   2       7   f   [        O                   U2      %       c   [        O                   U2      LQQ[        O                   U2      QQ[        O
                   2       7   f   [        O                   U2      %       c   [        O                   U2      LQ-*          oQQU-*          o[        [        O                   U2      2      gP9qEP! rR   r.   rT   s   &&&     r"   Útest_subtraction_precisionr\   Ä   s›   � ô �t‹_œy¨Ó/Õ/€FØ�>‰>Ð%˜XÑ%×%×%×%Ó%ˆ>×%×%×%×%×%×%ˆ6×%×%×%Ò%ˆ6×%×%Ö%ˆ>×%×%×%×%×%Ö%˜X×%×%×%Ò%˜X×%×%×%×%×%×%×%Ô%r$   c           	      ón  €   [        U 2      [        U2      *          oUO                  pDU6H  pU%       fÿ   [        O                   QU1Q	VB12      QQ[        O
                   2       7   f   [        O                   U2      %       c   [        O                   U2      LQQ[        O                   U2      QQ[        O
                   2       7   f   [        O                   U2      %       c   [        O                   U2      LQ-*          oQQU-*          o[        [        O                   U2      2      gP9qEP! rR   r.   rT   s   &&&     r"   Útest_multiplication_precisionr^   Ô   rZ   r$   c           	      ón  €   [        U 2      [        U2      *          oUO                  pDU6H  pU%       fÿ   [        O                   QU1Q	VB12      QQ[        O
                   2       7   f   [        O                   U2      %       c   [        O                   U2      LQQ[        O                   U2      QQ[        O
                   2       7   f   [        O                   U2      %       c   [        O                   U2      LQ-*          oQQU-*          o[        [        O                   U2      2      gP9qEP! rR   r.   rT   s   &&&     r"   Útest_division_precisionr`   ã   rZ   r$   rN   z1.234rG   z1.235z1.24z-1.235z-1.24z12.5Ú13Ú130rB   z999.5z1.00e+3z0.001234z0.00123i90  z1.23e+4z-12.55z-12.6c                 ó(  €   [        Q 2      O                  VU2      oVC6H  pU%       fé   [        O                   QU1QVC12      QQ[        O
                   2       7   f   [        O                   U2      %       c   [        O                   U2      LQQQ[        O
                   2       7   f   [        O                   U2      %       c   [        O                   U2      LQ-*          oQQU-*          o[        [        O                   U2      2      gPoP! )	Ú1r   rS   r
   r*   zassert %(py4)sr   r   )z%(py0)s == %(py2)s)
r   Ú_round_num_stringr   r   r   r   r   r   r   r   )rN   Ú	precisionÚrounding_typer*   rS   r   Ú@py_format3rW   s   &&&&    r"   Útest_round_num_stringri   ô   s’   � ô" �s‹^×-Ñ-Ø˜-ó€Fð Ñ×××Óˆ6××××××ˆ6×××Òˆ6××××××Ð�X×××Ò�X×××××××Ór$   c                  óÐ   €   [         O                   [        2      9^tt^ 2        [        Q 2      O	                  [        Q2      ] Q2       PPP2       P!  ) %       f   h     P! 9 h)rd   rP   rB   ©r9   r:   r;   r   re   r   © r$   r"   Ú.test_round_num_string_zero_significant_figuresrm     ó=   � Ü	�Š”z×	"Õ	"Ü�#‹×(Ñ(Ü�F‹O˜Q 	ô	
÷ 
#×	"×	"Ò	"úó   ¤&AÁA%	ÁA%	c                  óÐ   €   [         O                   [        2      9^tt^ 2        [        Q 2      O	                  [        Q2      ]Q2       PPP2       P!  ) %       f   h     P! 9 h)rd   rP   Úinvalidrk   rl   r$   r"   Ú"test_round_num_string_invalid_typerr     rn   ro   c                 ó*  €   [        U 2      p"O                  p3U6H  pD%       Cfk   [        O                   QU1QV112      QQ[        O
                   2       7   f!   [        O                   [         2      %       c   [        O                   [         2      LQQQ[        O
                   2       7   f   [        O                   U 2      %       c   [        O                   U 2      LQQ[        O                   U2      Q[        O                   U2      QQ[        O
                   2       7   f   [        O                   U2      %       c   [        O                   U2      LQ-*          oQ	Q
U-*          o[        [        O                   U2      2      gP9o9q4P! )r   r   r   r&   rN   r'   r(   r)   Úexpected_sigfigsr+   r,   r   r@   rA   )rN   rt   r0   r1   r2   r3   r4   s   &&     r"   Útest_zero_significant_figuresru     sÈ   � ô �UÓÐ7×#Ñ#Ð7Ð'7Ñ7×7×7×7Ô7Ð#×7×7×7×7×7×7Œ9×7×7×7Ò7Œ9×7×7×7×7×7×7Ð7�U×7×7×7Ò7�U×7×7Ö7Ð×7×7Ô7Ð#×7×7×7×7×7Ö7Ð'7×7×7×7Ò7Ð'7×7×7×7×7×7×7×7Ö7r$   c                  óÂ  €   [        Q 2      [        Q2      *          o U O                  o] o[        U2      p1U6H  pD%       Cf3   [        O                   QU1QV12      QQ[
        O                   2       7   f   [        O                   U 2      %       c   [        O                   U 2      LQQ[        O                   U2      QQ[
        O                   2       7   f!   [        O                   [        2      %       c   [        O                   [        2      LQQ[        O                   U2      Q[        O                   U2      -*          oQ	Q
U-*          o[        [        O                   U2      2      gP9o9o9q#U O                  o]pqU6H  pD%       fÇ   [        O                   QU1QV12      QQ[
        O                   2       7   f   [        O                   U 2      %       c   [        O                   U 2      LQQ[        O                   U2      Q[        O                   U2      -*          oQQU-*          o	[        [        O                   U	2      2      gP9o9qGP! )ú0.00ú2.0r   rS   r
   r   r   r   r   r   r   r(   úassert %(py7)sr)   r   )zK%(py2)s
{%(py2)s = %(py0)s.value
} == %(py8)s
{%(py8)s = %(py4)s(%(py6)s)
}©z/%(py2)s
{%(py2)s = %(py0)s.sigfigs
} == %(py5)s)r   rN   r   r   r   r   r   r   r   r   r   rB   )
rS   r   r   r   r   r    r!   r1   Ú@py_format6r3   s
             r"   Útest_multiplication_by_zeror|   (  s0  � Ü�vÓ¤¨5Ó!1Õ1€FØ�<‰<Ð% 1Ð%œ7 1›:Ð%˜:Ñ%×%×%×%Ô%ˆ<×%×%×%×%×%×%ˆ6×%×%×%Ò%ˆ6×%×%Ö%ˆ<×%×%×%×%×%Ö%œ7×%×%×%Ò%œ7×%×%Ö% 1×%×%Ô%˜:×%×%×%×%×%×%×%Ô%Ø�>‰>Ð˜QÐ˜QÑ×××Óˆ>××××××ˆ6×××Òˆ6××Öˆ>××Ô˜Q×××××××Ôr$   ú1.23e3z1.23e-3z-4.50e2z1e+6Ú1e6c                 ó*  €   [        U 2      p"O                  p3U6H  pD%       Cfk   [        O                   QU1QV112      QQ[        O
                   2       7   f!   [        O                   [         2      %       c   [        O                   [         2      LQQQ[        O
                   2       7   f   [        O                   U 2      %       c   [        O                   U 2      LQQ[        O                   U2      Q[        O                   U2      QQ[        O
                   2       7   f   [        O                   U2      %       c   [        O                   U2      LQ-*          oQ	Q
U-*          o[        [        O                   U2      2      gP9o9q4P! )r   r   r   r&   rN   r'   r(   r)   Úexpected_valuer+   r,   r   rL   rM   )rN   r€   r0   r1   r2   r3   r4   s   &&     r"   Útest_scientific_notation_valuer�   0  sÅ   � ô �UÓÐ3×!Ñ!Ð3 ^Ñ3×3×3×3Ô3Ð!×3×3×3×3×3×3Œ9×3×3×3Ò3Œ9×3×3×3×3×3×3Ð3�U×3×3×3Ò3�U×3×3Ö3Ð×3×3Ô3Ð!×3×3×3×3×3Ö3 ^×3×3×3Ò3 ^×3×3×3×3×3×3×3Ö3r$   c            	      ó¶  €   [        Q 2      o U O                  o]p!U6H  p3%       fÇ   [        O                   Q	U1Q
V12      QQ[        O
                   2       7   f   [        O                   U 2      %       c   [        O                   U 2      LQQ[        O                   U2      Q[        O                   U2      -*          oQQU-*          o[        [        O                   U2      2      gP9o9q2U O                  o]p"' paU6H  p3%       fÇ   [        O                   Q	U1QV12      QQ[        O
                   2       7   f   [        O                   U 2      %       c   [        O                   U 2      LQQ[        O                   U2      Q[        O                   U2      -*          oQQU-*          o[        [        O                   U2      2      gP9o9o9q&P! )r}   r   r	   r
   r(   ry   r)   zassert %(py8)sr   r   rz   )z1%(py2)s
{%(py2)s = %(py0)s.decimals
} == -%(py5)s)r   rB   r   r   r   r   r   r   r   r   rG   )	r	   r   r1   r   r{   r3   r2   rX   r    s	            r"   Ú"test_scientific_notation_precisionrƒ   =  sõ   � Ü�xÓ €FØ�>‰>Ð˜QÐ˜QÑ×××Óˆ>××××××ˆ6×××Òˆ6××Öˆ>××Ô˜Q×××××××ÒØ�?‰?Ð ˜qÐ ˜bÐ ˜bÑ × × × Ó ˆ?× × × × × × ˆ6× × × Ò ˆ6× × Ö ˆ?× × Ô ˜q× × × × × × × Ö r$   c                  ó¼   €   [         O                   [        2      9^tt^ 2        [        Q 2      [        Q2      *           PPP2       P!  ) %       f   h     P! 9 h)ú1.0r   )r9   r:   ÚZeroDivisionErrorr   rl   r$   r"   Útest_division_by_zeror‡   E  s2   � Ü	�ŠÔ(×	)Õ	)Ü�%Óœ9 S›>Ö)÷ 
*×	)×	)Ò	)ús   ¤A
Á
A	ÁA	Ú	operationc                 ó   €   U ]*           ! ©é   rl   ©r	   s   &r"   Ú<lambda>r�   O  ó   � �v –zr$   c                 ó   €   U ]*
          ! rŠ   rl   rŒ   s   &r"   r�   r�   P  rŽ   r$   c                 ó   €   U ]*          ! ©é   rl   rŒ   s   &r"   r�   r�   Q  rŽ   r$   c                 ó   €   U ]*          ! r‘   rl   rŒ   s   &r"   r�   r�   R  rŽ   r$   c                 ó¨   €   [         O                   [        2      9^tt^ 2        U  [        Q 2      2       PPP2       P!  ) %       f   h     P! 9 h)rx   )r9   r:   Ú	TypeErrorr   )rˆ   s   &r"   Ú%test_arithmetic_with_unsupported_typer–   L  s/   � ô 
�Š”y×	!Õ	!Ù”)˜EÓ"Ô#÷ 
"×	!×	!Ò	!ús   ¤A Á A	Á	A	c                  ó  €   Q o [        U 2      oQ o[        U2      p1U6H  pD%       CfQ   [        O                   Q
U1QV12      QQ[        O                   2       7   f!   [        O
                   [         2      %       c   [        O                   [         2      LQQ[        O                   U 2      Q[        O                   U2      QQ[        O                   2       7   f!   [        O
                   [         2      %       c   [        O                   [         2      LQQ[        O                   U2      Q[        O                   U2      -*          oQQ	U-*          o[        [        O                   U2      2      gP9o 9o9o9q#P! )ú1.20r   r   r
   r   r   r   r   úassert %(py12)sÚpy12r   )zP%(py4)s
{%(py4)s = %(py0)s(%(py2)s)
} == %(py10)s
{%(py10)s = %(py6)s(%(py8)s)
}©	r   r   r   r   r   r   r   r   r   ©r   r   r   Ú@py_assert9r   r!   Ú@py_format13s          r"   Útest_equal_identical_stringsrŸ   \  sÃ   � ØÐ1Œ9�VÓÐ1¨&Ð1¤	¨&Ó 1Ð1Ð 1Ñ1×1×1×1Ô1Ð×1×1×1×1×1×1Œ9×1×1×1Ò1Œ9×1×1Ö1�V×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Ð1r$   c                  ó  €   Q o [        U 2      oQo[        U2      p1U6g  pD%       CfQ   [        O                   QU1QV12      QQ[        O                   2       7   f!   [        O
                   [         2      %       c   [        O                   [         2      LQQ[        O                   U 2      Q[        O                   U2      QQ[        O                   2       7   f!   [        O
                   [         2      %       c   [        O                   [         2      LQQ[        O                   U2      Q[        O                   U2      -*          oQ	Q
U-*          o[        [        O                   U2      2      gP9o 9o9o9q#P! )r…   ú1.00r   r   r
   r   r   r   r   r™   rš   ©ú!=©zP%(py4)s
{%(py4)s = %(py0)s(%(py2)s)
} != %(py10)s
{%(py10)s = %(py6)s(%(py8)s)
}r›   rœ   s          r"   Ú-test_unequal_strings_with_different_precisionr¥   `  sÃ   � ØÐ0Œ9�UÓÐ0¨Ð0œy¨Ó0Ð0Ð0Ñ0×0×0×0Ô0Ð×0×0×0×0×0×0Œ9×0×0×0Ò0Œ9×0×0Ö0�U×0×0Ô0Ð×0×0×0×0×0Ö0œy×0×0×0Ò0œy×0×0Ö0¨×0×0Ô0Ð0×0×0×0×0×0×0×0×0Ð0r$   c                  ó  €   Q o [        U 2      oQo[        U2      p1U6g  pD%       CfQ   [        O                   QU1QV12      QQ[        O                   2       7   f!   [        O
                   [         2      %       c   [        O                   [         2      LQQ[        O                   U 2      Q[        O                   U2      QQ[        O                   2       7   f!   [        O
                   [         2      %       c   [        O                   [         2      LQQ[        O                   U2      Q[        O                   U2      -*          oQ	Q
U-*          o[        [        O                   U2      2      gP9o 9o9o9q#P! )ú1.2z1.3r   r   r
   r   r   r   r   r™   rš   r¢   r¤   r›   rœ   s          r"   Útest_unequal_numeric_valuesr¨   d  sÃ   � ØÐ/Œ9�UÓÐ/¨Ð/œy¨Ó/Ð/Ð/Ñ/×/×/×/Ô/Ð×/×/×/×/×/×/Œ9×/×/×/Ò/Œ9×/×/Ö/�U×/×/Ô/Ð×/×/×/×/×/Ö/œy×/×/×/Ò/œy×/×/Ö/¨×/×/Ô/Ð/×/×/×/×/×/×/×/×/Ð/r$   c                  ó  €   Q o [        U 2      oQp!U6g  p3%       få   [        O                   Q	U1Q
V12      QQ[        O                   2       7   f!   [        O
                   [         2      %       c   [        O                   [         2      LQQ[        O                   U 2      Q[        O                   U2      Q[        O                   U2      -*          oQQU-*          o[        [        O                   U2      2      gP9o 9o9q2P! )r…   g      ð?r   r   r
   r   r)   r+   r,   r¢   )z0%(py4)s
{%(py4)s = %(py0)s(%(py2)s)
} != %(py7)sr›   )r   r   r2   r   r3   r4   s         r"   Ú#test_equality_with_unsupported_typerª   h  s‡   � ØÐ"Œ9�UÓÐ"˜sÐ"˜sÑ"×"×"×"Ó"Ð×"×"×"×"×"×"Œ9×"×"×"Ò"Œ9×"×"Ö"�U×"×"Ô"Ð×"×"Ô"˜s×"×"×"×"×"×"×"Ö"r$   c                 ó¨   €   [         O                   [        [        12      9^tt^ 2        [	        U 2       PPP2       P!  ) %       f   h     P! 9 h)N)r9   r:   r;   r•   r   )rN   s   &r"   Útest_invalid_numeric_stringsr¬   n  s/   � ô 
�Šœ
¤IÐ.×	/Õ	/Ü�%Ô÷ 
0×	/×	/Ò	/ús   ªA Á A	Á	A	)Ú1500Ú42r   ú12.34ú0.00420r   ú1.50E+3z2e-4z-12.3z+4.2e5z-3.2E-4z0.5z10.01)r   r*   ))Ú12E3Ú12e3)z1.50E-2z1.50e-2)ú-3.2e4r´   )r±   z1.50e+3)r­   r   ú1.50e3r°   )Ú ú.5z.0042z5.z1.Ú.Ú1ez1e+z1e-ú1.2.3z1..2Ú12abcÚabc12z1 500z--12z++12z+-5Ú1ee3Ú1e2e3ÚnanÚNaNÚinfz1.2e3.4z 12.3z12.3 z 12.3 ))r­   r’   )Ú1000r‹   )Ú1002é   )Ú1234rÄ   )r¯   rÄ   )r=   é   )r>   r’   )r°   é   )rµ   rÇ   )ú1.500e3rÄ   )Ú1000e0r‹   ©r   r‹   ©rw   rÇ   )z-12.30rÄ   )z+5.00rÇ   )r²   r’   ))r­   éþÿÿÿ)rÂ   éýÿÿÿ)rÃ   r   )rÅ   r   )r¯   r’   )z12.340rÇ   )r=   r‹   )r>   rÄ   )r°   rÆ   )r   rÌ   )rµ   éÿÿÿÿ)rÈ   r   )rD   r   )rE   rÄ   )rw   r’   )rU   rV   r*   ))r¯   r§   z13.5)r¯   rP   z13.57©Ú100rd   rÐ   )r­   Ú20r­   )ú1.25rÒ   z2.50))r¯   r§   z11.1)r¯   rP   z11.11)z5.50r˜   z4.30rÏ   ))r¯   r˜   z14.8)ú2.5rx   z5.0)z3.00rx   z6.0)z9.99r…   z1.0e+1)rP   ú2.00z2.46))r¯   r˜   z10.3)r…   rx   z0.50)z10.0z4.0rÓ   )r¡   z4.00z0.250)z9.00rÔ   z4.50)rN   rf   rg   r*   )rN   rt   )rÊ   )rJ   r’   rË   )z0.000rÄ   )rN   r€   )r¶   Úabcrº   r¹   z--2r·   )&Úbuiltinsr   Ú_pytest.assertion.rewriteÚ	assertionÚrewriter   Údecimalr   r9   rB   r   ÚmarkÚparametrizer#   r5   r7   r<   rC   rH   rO   rY   r\   r^   r`   ri   rm   rr   ru   r|   r�   rƒ   r‡   r–   rŸ   r¥   r¨   rª   r¬   rl   r$   r"   Ú<module>rÝ      sb  ñß  „ Õ ã å ð ‡�×ÑØ	òóñ$)ó%ð$)ð ‡�×ÑØòóñ.óð.ð
 ‡�×ÑØ	òóñ)óð)ð ‡�×ÑØ	òóñ>ó?ð>ð ‡�×ÑØòóñ*.ó+ð*.ð ‡�×ÑØòóñ(/ó)ð(/ð ‡�×ÑØà	‰w�v‹ÐØ	‘'˜'Ó"Ð#Ø	‘7˜8Ó$Ð%Ø	‘'˜(Ó#Ð$Ø	‘7˜8Ó$Ð%Ø	‘G˜HÓ%Ð&Ø	‘W˜XÓ&Ð'Ø	‘7˜8Ó$Ð%Ø	‰g�e‹nÐð
óñ,óð,õ ã ð ‡�×ÑØ!òó	ñ&ó	ð&ð
 ‡�×ÑØ!òóñ&óð&ð ‡�×ÑØ!òó	ñ&ó	ð&ð
 ‡�×ÑØ!òó	ñ&ó	ð&ð ‡�×ÑØ7á	�Ó	˜1˜j¨&Ð1Ù	�Ó	˜1˜j¨&Ð1Ù	�Ó	˜A˜z¨7Ð3Ù	�‹˜!˜Z¨Ð.Ù	�‹�r˜: uÐ-Ù	�Ó	˜1˜i¨Ð0Ù	�Ó	˜1˜i¨Ð0Ù	�Ó	˜1˜i¨Ð3Ù	�Ó	˜a ¨IÐ6Ù	�‹˜˜I yÐ1Ù	�Ó	˜A˜y¨'Ð2ðóñ ó!ð ò
ò
ð ‡�×ÑØ!òóñ8óð8òð ‡�×ÑØà	‘7˜8Ó$Ð%Ø	‘G˜IÓ&Ð'Ø	‘G˜IÓ&Ð'Ø	‘˜“Ð ð	óñ4óð4ò!ò*ð ‡�×ÑØá!Ù!Ù!Ù!ð	óñ$óð$ò2ò1ò0ò#ð ‡�×ÑØòó
ñó
òr$   