
    8tf                     `   d dl mZ d dlZd dlZd dlmZ 	 d dlmZ 	 d dl	m
Z
  e
ddg      Z e
dd	d
g      Z G d de      Z G d de      Z G d de      Z G d de      Zd d d gZ G d dej*                        Zy# e$ r dZY ow xY w# e$ r  G d de      Z G d de      ZY tw xY w)    )absolute_importN)StringIO)mock)
namedtupleValuevaluePointxyc                       e Zd Zd Zd Zy)r   c                 .    t         j                  | |      S Ntuple__new__clsargss     j/var/www/html/software/conda/envs/higlass/lib/python3.12/site-packages/simplejson/tests/test_namedtuple.pyr   zValue.__new__       ==d++    c                     d| d   iS )Nr   r    selfs    r   _asdictzValue._asdict   s    T!W%%r   N__name__
__module____qualname__r   r   r   r   r   r   r      s    	,	&r   c                       e Zd Zd Zd Zy)r	   c                 .    t         j                  | |      S r   r   r   s     r   r   zPoint.__new__   r   r   c                     | d   | d   dS )Nr      )r
   r   r   r   s    r   r   zPoint._asdict   s    atAw//r   Nr   r   r   r   r	   r	      s    	,	0r   c                       e Zd Zd Zd Zy)	DuckValuec                     t        | | _        y r   )r   r   r   r   s     r   __init__zDuckValue.__init__       D\
r   c                 6    | j                   j                         S r   )r   r   r   s    r   r   zDuckValue._asdict"       zz!!##r   Nr   r   r    r)   r   r   r   r   r&   r&          "$r   r&   c                       e Zd Zd Zd Zy)	DuckPointc                     t        | | _        y r   )r	   pointr(   s     r   r)   zDuckPoint.__init__&   r*   r   c                 6    | j                   j                         S r   )r2   r   r   s    r   r   zDuckPoint._asdict)   r,   r   Nr-   r   r   r   r0   r0   %   r.   r   r0   c                       e Zd ZdZy)DeadDuckNr   r   r    r   r   r   r   r5   r5   ,       Gr   r5   c                       e Zd ZdZy)DeadDictNr6   r   r   r   r9   r9   /   r7   r   r9   c                     | S r   r   vs    r   <lambda>r=   3   s    a r   c                     | gS r   r   r;   s    r   r=   r=   4   s    qc r   c                     d| igS )Nkeyr   r;   s    r   r=   r=   5   s    qzl r   c                   <    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
y	)
TestNamedTuplec                 T   t        d      t        dd      t        d      t        dd      fD ]  }|j	                         }| j                  |t        j                  t        j                  |                   | j                  |t        j                  t        j                  |d                   | j                  |t        j                  t        j                  |d                   | j                  |t        j                  t        j                  |dd                    y Nr$      Tnamedtuple_as_objectF)tuple_as_array)rG   rH   )	r   r	   r&   r0   r   assertEqualjsonloadsdumps)r   r<   ds      r   test_namedtuple_dumpsz$TestNamedTuple.test_namedtuple_dumps9   s    (E!QK1yAG 
	>A		AQ

4::a= 9:

4::adCDF Q

4::a+N OP

4::ad5:< =>
	>r   c           
         t        d      t        dd      fD ]o  }t        |      }| j                  |t	        j
                  t	        j                  |d                   | j                  t        t        j                  |dd       q y Nr$   rE   FrF   )rH   rG   )	r   r	   listrI   rJ   rK   rL   assertRaises	TypeError)r   r<   ls      r   test_namedtuple_dumps_falsez*TestNamedTuple.test_namedtuple_dumps_falseF   sy    (E!QK( 	BAQA

4::aeDEG iQ$5  B	Br   c                 0   t        d      t        dd      t        d      t        dd      fD ]f  }|j	                         }t               }t        j                  ||       | j                  |t        j                  |j                                      t               }t        j                  ||d       | j                  |t        j                  |j                                      t               }t        j                  ||d       | j                  |t        j                  |j                                      t               }t        j                  ||dd       | j                  |t        j                  |j                                      i y rD   )r   r	   r&   r0   r   r   rJ   dumprI   rK   getvalue)r   r<   rM   sios       r   test_namedtuple_dumpz#TestNamedTuple.test_namedtuple_dumpO   s   (E!QK1yAG 	,A		A*CIIaQ

3<<> :;*CIIa48

3<<>*, *CIIaU3Q

3<<> :;*CIIa4%*,

3<<>*,!	,r   c           	      ^   t        d      t        dd      fD ]  }t        |      }t               }t	        j
                  ||d       | j                  |t	        j                  |j                                      | j                  t        t        j
                  |t               dd        y rP   )r   r	   rQ   r   rJ   rW   rI   rK   rX   rR   rS   )r   r<   rT   rY   s       r   test_namedtuple_dump_falsez)TestNamedTuple.test_namedtuple_dump_falsed   s    (E!QK( 	BAQA*CIIa59

3<<>*, iAxz$5  B	Br   c           	         t         D ]  }| j                  t        t        j                   |t                     t               d       t               }t        j                   |t                     |d       | j                  t        j                   |i             |j                                | j                  t        t        j                   |t              t               d        y NTrF   )CONSTRUCTORSrR   rS   rJ   rW   r5   r   r9   rI   rL   rX   r   )r   frY   s      r   test_asdict_not_callable_dumpz,TestNamedTuple.test_asdict_not_callable_dumpo   s     	A		(*
%)   *CIIa
mStD

1R5!  		%
%)  	r   c           
         t         D ]  }| j                  t        t        j                   |t                     d       | j                  t        t        j                   |t              d       | j                  t        j                   |i             t        j                   |t                     d              y r^   )	r_   rR   rS   rJ   rL   r5   r   rI   r9   r   r`   s     r   test_asdict_not_callable_dumpsz-TestNamedTuple.test_asdict_not_callable_dumps   s     	FAi

AhjM  F

%%)	   

1R5!

1XZ=tDF	Fr   c           	          t         D ][  }| j                  t        j                   |t              d       t        j                   |t        j
                                     ] y )Nc                     | j                   S r   )r   r;   s    r   r=   zATestNamedTuple.test_asdict_unbound_method_dumps.<locals>.<lambda>   s
    qzz r   )default)r_   rI   rJ   rL   r   r   rc   s     r    test_asdict_unbound_method_dumpsz/TestNamedTuple.test_asdict_unbound_method_dumps   sG     	A

1U8-AB

1U^^,-	r   c                    t         s1t        t        d      rt        j                  d      t	        d       y t        j
                         }| j                  t        |d             | j                  t        |j                               | j                  t        |j                         t                     | j                  t              5  t        j                  d|idd       d d d        y # 1 sw Y   y xY w)	NSkipTestzunittest.mock requiredzunittest.mock not availabler      TF)rG   for_json)r   hasattrunittestrj   printMock
assertTruecallabler   assertFalse
isinstancedictrR   rS   rJ   rL   )r   fakes     r    test_asdict_does_not_return_dictz/TestNamedTuple.test_asdict_does_not_return_dict   s    x,''(@AA34yy{i01./DLLND9: y) 	NJJDzuM	N 	N 	Ns   C11C:N)r   r   r    rN   rU   rZ   r\   ra   rd   rh   rw   r   r   r   rB   rB   8   s.    >B,*	B,FNr   rB   )
__future__r   rn   
simplejsonrJ   simplejson.compatr   r   ImportErrorcollectionsr   r   r	   r   objectr&   r0   r5   ru   r9   r_   TestCaserB   r   r   r   <module>r      s    &   &,& w	*Ewc
+E$ $$ $v t  vNX&& vNa  D
  0& &0 00s"   B B BBB-,B-