î
‚Ü X¤  ã               @   sJ  d  d l  m Z d  d l Z d  d l Z d  d l m Z y d  d l m Z Wn> e	 k
 rŒ Gd d „  d e
 ƒ Z Gd d „  d e
 ƒ Z Yn( Xe d d	 g ƒ Z e d d
 d g ƒ Z Gd d „  d e ƒ Z Gd d „  d e ƒ Z Gd d „  d e ƒ Z Gd d „  d e ƒ Z d d „  d d „  d d „  g Z Gd d „  d e j ƒ Z d S)é    )Úabsolute_importN)ÚStringIO)Ú
namedtuplec               @   s(   e  Z d  Z d d „  Z d d „  Z d S)ÚValuec             G   s   t  j |  | ƒ S)N)ÚtupleÚ__new__)ÚclsÚargs© r
   ú]/home/ubuntu/projects/ifolica/lib/python3.4/site-packages/simplejson/tests/test_namedtuple.pyr   
   s    zValue.__new__c             C   s   i |  d d 6S)Nr   Úvaluer
   )Úselfr
   r
   r   Ú_asdict   s    zValue._asdictN)Ú__name__Ú
__module__Ú__qualname__r   r   r
   r
   r
   r   r   	   s   r   c               @   s(   e  Z d  Z d d „  Z d d „  Z d S)ÚPointc             G   s   t  j |  | ƒ S)N)r   r   )r   r	   r
   r
   r   r      s    zPoint.__new__c             C   s   i |  d d 6|  d d 6S)Nr   Úxé   Úyr
   )r   r
   r
   r   r      s    zPoint._asdictN)r   r   r   r   r   r
   r
   r
   r   r      s   r   r   r   r   c               @   s(   e  Z d  Z d d „  Z d d „  Z d S)Ú	DuckValuec             G   s   t  | Œ  |  _ d  S)N)r   r   )r   r	   r
   r
   r   Ú__init__   s    zDuckValue.__init__c             C   s   |  j  j ƒ  S)N)r   r   )r   r
   r
   r   r      s    zDuckValue._asdictN)r   r   r   r   r   r
   r
   r
   r   r      s   r   c               @   s(   e  Z d  Z d d „  Z d d „  Z d S)Ú	DuckPointc             G   s   t  | Œ  |  _ d  S)N)r   Úpoint)r   r	   r
   r
   r   r   !   s    zDuckPoint.__init__c             C   s   |  j  j ƒ  S)N)r   r   )r   r
   r
   r   r   $   s    zDuckPoint._asdictN)r   r   r   r   r   r
   r
   r
   r   r       s   r   c               @   s   e  Z d  Z d Z d S)ÚDeadDuckN)r   r   r   r   r
   r
   r
   r   r   '   s   r   c               @   s   e  Z d  Z d Z d S)ÚDeadDictN)r   r   r   r   r
   r
   r
   r   r   *   s   r   c             C   s   |  S)Nr
   )Úvr
   r
   r   Ú<lambda>.   s    r   c             C   s   |  g S)Nr
   )r   r
   r
   r   r   /   s    c             C   s   i |  d 6g S)NÚkeyr
   )r   r
   r
   r   r   0   s    c               @   sX   e  Z d  Z d d „  Z d d „  Z d d „  Z d d „  Z d	 d
 „  Z d d „  Z d S)ÚTestNamedTuplec          
   C   së   xä t  d ƒ t d d ƒ t d ƒ t d d ƒ g D]² } | j ƒ  } |  j | t j t j | ƒ ƒ ƒ |  j | t j t j | d d ƒƒ ƒ |  j | t j t j | d d ƒƒ ƒ |  j | t j t j | d d d d ƒƒ ƒ q1 Wd  S)Nr   é   Únamedtuple_as_objectTÚtuple_as_arrayF)	r   r   r   r   r   ÚassertEqualÚjsonÚloadsÚdumps)r   r   Údr
   r
   r   Útest_namedtuple_dumps4   s    7"(z$TestNamedTuple.test_namedtuple_dumpsc          	   C   s€   xy t  d ƒ t d d ƒ g D]\ } t | ƒ } |  j | t j t j | d d ƒƒ ƒ |  j t t j | d d d d ƒq Wd  S)Nr   r    r!   Fr"   )	r   r   Úlistr#   r$   r%   r&   ÚassertRaisesÚ	TypeError)r   r   Úlr
   r
   r   Útest_namedtuple_dumps_falseA   s    "z*TestNamedTuple.test_namedtuple_dumps_falsec             C   sC  x<t  d ƒ t d d ƒ t d ƒ t d d ƒ g D]
} | j ƒ  } t ƒ  } t j | | ƒ |  j | t j	 | j
 ƒ  ƒ ƒ t ƒ  } t j | | d d ƒ|  j | t j	 | j
 ƒ  ƒ ƒ t ƒ  } t j | | d d ƒ|  j | t j	 | j
 ƒ  ƒ ƒ t ƒ  } t j | | d d d d ƒ|  j | t j	 | j
 ƒ  ƒ ƒ q1 Wd  S)Nr   r    r!   Tr"   F)r   r   r   r   r   r   r$   Údumpr#   r%   Úgetvalue)r   r   r'   Úsior
   r
   r   Útest_namedtuple_dumpJ   s&    7				z#TestNamedTuple.test_namedtuple_dumpc          
   C   sœ   x• t  d ƒ t d d ƒ g D]x } t | ƒ } t ƒ  } t j | | d d ƒ|  j | t j | j ƒ  ƒ ƒ |  j	 t
 t j | t ƒ  d d d d ƒq Wd  S)Nr   r    r!   Fr"   )r   r   r)   r   r$   r.   r#   r%   r/   r*   r+   )r   r   r,   r0   r
   r
   r   Útest_namedtuple_dump_false_   s    "	z)TestNamedTuple.test_namedtuple_dump_falsec             C   s   x† t  D]~ } |  j t t j | t ƒ  ƒ t ƒ  d d ƒt ƒ  } t j | t ƒ  ƒ | d d ƒ|  j t j	 | i  ƒ ƒ | j
 ƒ  ƒ q Wd  S)Nr!   T)ÚCONSTRUCTORSr*   r+   r$   r.   r   r   r   r#   r&   r/   )r   Úfr0   r
   r
   r   Útest_asdict_not_callable_dumpj   s    	"	z,TestNamedTuple.test_asdict_not_callable_dumpc             C   sq   xj t  D]b } |  j t t j | t ƒ  ƒ d d ƒ|  j t j | i  ƒ ƒ t j | t ƒ  ƒ d d ƒƒ q Wd  S)Nr!   T)r3   r*   r+   r$   r&   r   r#   r   )r   r4   r
   r
   r   Útest_asdict_not_callable_dumpst   s    	z-TestNamedTuple.test_asdict_not_callable_dumpsN)	r   r   r   r(   r-   r1   r2   r5   r6   r
   r
   r
   r   r   3   s   	
r   )Ú
__future__r   ZunittestÚ
simplejsonr$   Zsimplejson.compatr   Úcollectionsr   ÚImportErrorr   r   r   Úobjectr   r   r   Údictr   r3   ZTestCaser   r
   r
   r
   r   Ú<module>   s$   		