
    <i                     b    S SK r S SKrS SKJr  S SKJrJr  S SKrS SK	J
r
JrJr   " S S\5      rg)    N)TestCase)	long_type	text_type)NaNPosInfNegInfc                   8    \ rS rSrS rS rS rS rS rS r	Sr
g	)
	TestFloat   c           
          [         [        4 H;  nU R                  [        R                  " [        R
                  " USS9SS9U5        M=     [        R                  " [        R
                  " [        SS9SS9nU R                  SU-   U:g  5        g )NT	allow_nanr   )r   r   assertEqualjsonloadsdumpsr   
assertTrue)selfinfnans      U/home/james-whalen/.local/lib/python3.13/site-packages/simplejson/tests/test_float.pytest_degenerates_allow TestFloat.test_degenerates_allow	   sk    F#CTZZ

3$(GSWXZ]^ $ jjC48DISS()    c           
          [         [        [        4 H<  nU R                  [        R
                  " [        R                  " USS95      S 5        M>     g )NT)
ignore_nan)r   r   r   r   r   r   r   )r   fs     r   test_degenerates_ignore!TestFloat.test_degenerates_ignore   s7    &#&ATZZ

1(FGN 'r   c                     [         [        [        4 H'  nU R                  [        [
        R                  USS9  M)     S HL  nU R                  [        [
        R                  USS9  U R                  [        [
        R                  U5        MN     g )NFr   )Infinityz	-Infinityr   )r   r   r   assertRaises
ValueErrorr   r   r   )r   r   ss      r   test_degenerates_denyTestFloat.test_degenerates_deny   si    &#&Aj$**a5I '1Aj$**a5Ij$**a8 2r   c           
         S[         R                  [         R                  S-  [         R                  S-  S4 H  nU R                  [        [        R
                  " U5      5      U5        U R                  [        R                  " [        R
                  " U5      5      U5        U R                  [        R                  " [        [        R
                  " U5      5      5      U5        M     g )NgAd   ig@)mathpir   floatr   r   r   r   r   nums     r   test_floatsTestFloat.test_floats   s    &#GGTM3(CU4::c?3S9TZZ

38#>TZZ	$**S/(BCSI	(r   c           
         S[        S5      SS4 H  nU R                  [        R                  " U5      [	        U5      5        U R                  [        [        R                  " U5      5      U5        U R                  [        R                  " [        R                  " U5      5      U5        U R                  [        R                  " [        [        R                  " U5      5      5      U5        M     g )N   l        l            )r   r   r   r   strintr   r   r,   s     r   	test_intsTestFloat.test_ints"   s    y|UE2CTZZ_c#h7SC137TZZ

38#>TZZ	$**S/(BCSI	 3r   c                 
    [         R                  R                  [         R                  R                  /nU R                  [        R                  " [        R                  " U5      5      U5        g ! [         a    SS/n NKf = f)Ng       g)	sys
float_infominmaxAttributeErrorr   r   r   r   )r   float_ranges     r   test_float_rangeTestFloat.test_float_range)   sh    	M>>--s~~/A/ABK 	DJJ{$;<kJ  	M24KLK	Ms   4A1 1BB N)__name__
__module____qualname____firstlineno__r   r   r%   r.   r4   r=   __static_attributes__r?   r   r   r
   r
      s$    *O9JJKr   r
   )r7   r)   unittestr   simplejson.compatr   r   
simplejsonr   simplejson.decoderr   r   r   r
   r?   r   r   <module>rI      s(    
   2  2 2&K &Kr   