U
    ‘bÖeD  ã                   @   sø   d dl mZ d dlZej ¡ dd„ ƒZej ¡ dd„ ƒZej ¡ dd„ ƒZej ¡ d	d
„ ƒZej ¡ dd„ ƒZ	ej ¡ dd„ ƒZ
ej ¡ dd„ ƒZej ¡ dd„ ƒZej ¡ dd„ ƒZej ¡ dd„ ƒZdd„ Zej ¡ dd„ ƒZej ¡ dd„ ƒZdS )é    )ÚRendezvousHashNc                  C   s.   t ƒ } dt| jƒkst‚d|  d¡ks*t‚d S )Nr   éØ"QÚ6666©r   ÚlenÚnodesÚAssertionErrorÚhash_function©Ú
rendezvous© r   úa/var/www/html/services/stratfitenv/lib/python3.8/site-packages/pymemcache/test/test_rendezvous.pyÚtest_init_no_options   s    r   c                  C   s<   dddg} t | d}dt|jƒks&t‚d| d¡ks8t‚d S )NÚ0Ú1Ú2©r   é   r   r   r   ©r   r   r   r   r   Ú	test_init   s    

r   c                  C   s    t dd} d|  d¡kst‚d S )Né
   )Úseedl   ”zrc r   )r   r	   r   r
   r   r   r   Ú	test_seed   s    
r   c                  C   sz   t ƒ } |  d¡ dt| jƒks"t‚|  d¡ dt| jƒks>t‚|  d¡ dt| jƒksZt‚|  d¡ dt| jƒksvt‚d S )Nr   é   r   é   )r   Úadd_noder   r   r   r
   r   r   r   Útest_add_node   s    



r   c               	   C   sž   dddg} t | d}| d¡ dt|jƒks0t‚t t¡ | d¡ W 5 Q R X dt|jƒksbt‚| d¡ dt|jƒks~t‚| d¡ dt|jƒksšt‚d S )Nr   r   r   r   r   r   r   )r   Úremove_noder   r   r   ÚpytestZraisesÚ
ValueErrorr   r   r   r   Útest_remove_node+   s    




r    c                  C   sN   dddg} t | d}d| d¡ks&t‚d| d¡ks8t‚d| d¡ksJt‚d S ©Nr   r   r   r   ÚokÚmykeyÚwat)r   Úget_noder   r   r   r   r   Útest_get_node?   s
    

r&   c                  C   sX   dddg} t | d}| d¡ d| d¡ks0t‚d| d¡ksBt‚d| d¡ksTt‚d S r!   )r   r   r%   r   r   r   r   r   Útest_get_node_after_removalH   s    


r'   c                  C   s²   dddg} t | d}d| d¡ks&t‚d| d¡ks8t‚d| d¡ksJt‚d| d¡ks\t‚| d	¡ d| d¡ksxt‚d| d¡ksŠt‚d| d¡ksœt‚d	| d¡ks®t‚d S )
Nr   r   r   r   r"   r#   r$   ZlolÚ3)r   r%   r   r   r   r   r   r   Útest_get_node_after_additionS   s    


r)   c                  C   sd  t ƒ } i }tdƒD ]}|  t|ƒ¡ g |t|ƒ< qtdƒD ] }|  t|ƒ¡}||  |¡ q:i }tdƒD ]}|  t|ƒ¡ g |t|ƒ< qhtdƒD ] }|  t|ƒ¡}||  |¡ qdd„ | ¡ D ƒ}dd„ | ¡ D ƒ}t|ƒt|ƒksêt‚d}d}| 	¡ D ]D\}}	t
|	ƒ}
t
| |g ¡ƒ}|t| |
¡ƒ7 }|t|
 |¡ƒ7 }qú||ksNt‚d|| ks`t‚d S )	Nr   éè  é   c                 S   s   g | ]}|D ]}|‘qqS r   r   ©Ú.0ZsublistÚkr   r   r   Ú
<listcomp>{   s       ztest_grow.<locals>.<listcomp>c                 S   s   g | ]}|D ]}|‘qqS r   r   r,   r   r   r   r/   |   s       r   i&  )r   Úranger   Ústrr%   ÚappendÚvaluesÚsortedr   ÚitemsÚsetÚgetr   Ú
difference©r   Z
placementsÚiÚnodeZnew_placementsÚkeysZnew_keysÚaddedÚremovedZassignmentsÚafterÚbeforer   r   r   Ú	test_growc   s6    rA   c                  C   s`  t ƒ } i }tdƒD ]}|  t|ƒ¡ g |t|ƒ< qtdƒD ] }|  t|ƒ¡}||  |¡ q:|  d¡ i }tdƒD ]}g |t|ƒ< qrtdƒD ] }|  t|ƒ¡}||  |¡ qŒdd„ | ¡ D ƒ}dd„ | ¡ D ƒ}t|ƒt|ƒksæt	‚d}d}| 
¡ D ]D\}}	t|	ƒ}
t| |g ¡ƒ}|t| |
¡ƒ7 }|t|
 |¡ƒ7 }qö||ksJt	‚d	|| ks\t	‚d S )
Nr   r*   Ú9é	   c                 S   s   g | ]}|D ]}|‘qqS r   r   r,   r   r   r   r/   ¢   s       ztest_shrink.<locals>.<listcomp>c                 S   s   g | ]}|D ]}|‘qqS r   r   r,   r   r   r   r/   £   s       r   éÊ   )r   r0   r   r1   r%   r2   r   r3   r4   r   r5   r6   r7   r   r8   r9   r   r   r   Útest_shrinkŒ   s6    
rE   c                 C   s   dS )Ni9  r   )Úkeyr   r   r   r   Úcollide²   s    rG   c                  C   s:   dddg} t | td}tdƒD ]}d| |¡kst‚qd S )NÚcÚbÚa©r	   r*   ©r   rG   r0   r%   r   ©r   r   r:   r   r   r   Útest_rendezvous_collision¶   s    
rN   c                  C   sv   ddddddg} t | td}tdƒD ]}d| |¡ks$t‚q$ddd	g} t | td}tdƒD ]}d| |¡ksZt‚qZd S )
Nr   r   r   rJ   rI   zlol.wat.comrK   r   r   rL   rM   r   r   r   Útest_rendezvous_names¿   s    
rO   )Zpymemcache.client.rendezvousr   r   ÚmarkÚunitr   r   r   r   r    r&   r'   r)   rA   rE   rG   rN   rO   r   r   r   r   Ú<module>   s4   









(
%
