
 X	                 @   sh   d  d l  Z  d  d l  m a d  d l m Z d  d l m Z m Z d  d l Z Gd d   d e  Z	 d S)    N)Decimal)TestCase)StringIOreload_modulec               @   sv   e  Z d  Z d Z d d   Z d d	   Z d
 d   Z d d   Z d d   Z d d   Z	 d d   Z
 d d   Z d S)TestDecimal1.010.001.11234567890.1234567890500c             K   sH   t    } t j | | |  t j | |  } |  j | | j    | S)N)r   jsondumpdumpsassertEqualgetvalue)selfobjkwsiores r   Z/home/ubuntu/projects/ifolica/lib/python3.4/site-packages/simplejson/tests/test_decimal.pyr   
   s
    	zTestDecimal.dumpsc             K   s>   t  |  } t j | |  } |  j | t j | |   | S)N)r   r   loadsr   load)r   sr   r   r   r   r   r   r      s    zTestDecimal.loadsc             C   sF   x? t  t |  j  D]+ } |  j |  j | d d t |   q Wd  S)Nuse_decimalT)mapr   NUMSr   r   str)r   dr   r   r   test_decimal_encode   s    zTestDecimal.test_decimal_encodec             C   s=   x6 |  j  D]+ } |  j |  j | d t t |   q
 Wd  S)Nparse_float)r   r   r   r   )r   r   r   r   r   test_decimal_decode   s    zTestDecimal.test_decimal_decodec             C   si   xb t  t |  j  D]N } i | | 6} |  j |  j |  j | d d d t i | t |  6 q Wd  S)Nr   Tr!   )r   r   r   r   r   r   r   )r   r   vr   r   r   test_stringify_key   s    zTestDecimal.test_stringify_keyc             C   ss   xl t  t |  j  D]X } xO | | g i | d 6g D]4 } |  j |  j |  j | d d d t |  q3 Wq Wd  S)N r   Tr!   )r   r   r   r   r   r   )r   r   r#   r   r   r   test_decimal_roundtrip'   s     z"TestDecimal.test_decimal_roundtripc             C   s   t  d  } |  j t t j | d d |  j d t j |   |  j d t j | d d  |  j t t j | t   d d t   } t j | |  |  j d | j    t   } t j | | d d |  j d | j    d  S)Nz1.1r   FT)	r   ZassertRaises	TypeErrorr   r   r   r   r   r   )r   r   r   r   r   r   test_decimal_defaults1   s    		z!TestDecimal.test_decimal_defaultsc             C   s5   t  t  j a d d  l } t | j _ |  j   d  S)Nr   )r   decimalr   Zsimplejson.encoderencoderr&   )r   
simplejsonr   r   r   test_decimal_reload@   s    zTestDecimal.test_decimal_reloadN)r   r   r	   r
   z500)__name__
__module____qualname__r   r   r   r    r"   r$   r&   r(   r,   r   r   r   r   r      s   
r   )
r)   r   Zunittestr   Zsimplejson.compatr   r   r+   r   r   r   r   r   r   <module>   s
   