B
    18\                 @   sl   d dl Z d dlZd dlmZ d dlmZ d dlZG dd deZG dd dejZ	dd	 Z
ed
krhe
  dS )    N)support)AbstractPickleTestsc               @   s6   e Zd Zd
ddZdd ZdZdZdd Zdd	 ZdS )OptimizedPickleTestsNc             C   s   t t||S )N)pickletoolsoptimizepickledumps)selfargproto r   Y/oak/stanford/groups/akundaje/marinovg/programs/Python-3.7.3/Lib/test/test_pickletools.pyr   	   s    zOptimizedPickleTests.dumpsc             K   s   t j|f|S )N)r   loads)r	   bufkwdsr   r   r   r      s    zOptimizedPickleTests.loadsc             C   s   dd t dD }||d  xt tjd D ]}t||}t|}| || | |d |d  t	|}t|}| || | |d |d  | 
tj| | 
tj| q0W d S )Nc             S   s   g | ]}t |qS r   )str).0ir   r   r   
<listcomp>   s    zBOptimizedPickleTests.test_optimize_long_binget.<locals>.<listcomp>i     )rangeappendr   HIGHEST_PROTOCOLr   r   assertEqualassertIsr   r   assertNotInLONG_BINGETLONG_BINPUT)r	   datar   pickled	unpickledpickled2
unpickled2r   r   r   test_optimize_long_binget   s    


z.OptimizedPickleTests.test_optimize_long_bingetc             C   s   d}|  tj| t|}| |dddg | |d |d  t|}t|}| |dddg | |d |d  | tj| d S )Ns           ](spamqhamhe.spamZhamr      )	assertInr   BINPUTr   r   r   r   r   r   )r	   r!   r"   r#   r$   r   r   r    test_optimize_binput_and_memoize%   s    


z5OptimizedPickleTests.test_optimize_binput_and_memoize)N)	__name__
__module____qualname__r   r   Ztest_pickle_to_2xZ+test_framed_write_sizes_with_delayed_writerr%   r*   r   r   r   r   r      s   
r   c               @   s   e Zd Zdd ZdS )MiscTestCasec          K   C   s   ddddddddd	d
dddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKhK}t j| t|dL d S )MNbytes_typesUP_TO_NEWLINETAKEN_FROM_ARGUMENT1TAKEN_FROM_ARGUMENT4TAKEN_FROM_ARGUMENT4UTAKEN_FROM_ARGUMENT8UArgumentDescriptor
read_uint1
read_uint2	read_int4
read_uint4
read_uint8read_stringnlread_stringnl_noescaperead_stringnl_noescape_pairread_string1read_string4read_bytes1read_bytes4read_bytes8read_unicodestringnlread_unicodestring1read_unicodestring4read_unicodestring8read_decimalnl_shortread_decimalnl_longread_floatnlread_float8
read_long1
read_long4uint1uint2int4uint4uint8stringnlstringnl_noescapestringnl_noescape_pairstring1string4bytes1bytes4bytes8unicodestringnlunicodestring1unicodestring4unicodestring8decimalnl_shortdecimalnl_longfloatnlfloat8long1long4StackObjectpyintpylongpyinteger_or_boolpyboolpyfloatpybytes_or_strpystringpybytes	pyunicodepynonepytuplepylistpydictpysetpyfrozenset	anyobject
markobject
stackslice
OpcodeInfoopcodescode2op)	blacklist)r   check__all__r   )r	   rz   r   r   r   test__all__A   s4    


zMiscTestCase.test__all__N)r+   r,   r-   r|   r   r   r   r   r.   @   s   r.   c               C   s"   t t t t t t d S )N)r   run_unittestr   r.   run_doctestr   r   r   r   r   	test_main_   s    

r   __main__)r   r   testr   Ztest.pickletesterr   unittestr   TestCaser.   r   r+   r   r   r   r   <module>   s   9