U
    Cvf                     @  s   d dl mZ d dlmZ d dlmZ d dlZd dlmZ dddd	Z	ddd
dZ
ddddZddddZddddZddddZddddZddddZdS )    )annotations)Any)mockN)LRUCacheNone)returnc                  C  s   t dd} d| d< d| d< | d dks*t| d dks:tt| dksJtt| dddks`tt|  ddgksxtt|  ddgkstd	| d
< t| dkstt|  ddgkstd S )N   maxsize   xy)r   r   r   r   r   r      zr   r   )r   AssertionErrorlendictlistkeysitemscache r   H/tmp/pip-unpacked-wheel-h316xyqg/xarray/tests/test_backends_lru_cache.pytest_simple   s    
r   c                  C  s&   t dd} d| d< t| dks"td S )Nr   r	   r   r   )r   r   r   r   r   r   r   test_trivial   s    
r   c                	   C  sD   t t td d W 5 Q R X t t tdd W 5 Q R X d S )Nr	   )pytestraises	TypeErrorr   
ValueErrorr   r   r   r   test_invalid"   s    r$   c                  C  s   t dd} d| d< d| d< t| ddgks.td| ks:tt| ddgksNt| d dks^tt| ddgksrtd| d< t|  ddgkstd S )	Nr   r	   r   r   r   r   r   )r   r   )r   r   r   r   r   r   r   r   test_update_priority)   s    
r%   c                  C  s8   t dd} d| d< d| d< | d= t| ddiks4td S )Nr   r	   r   r   r   )r   r   r   r   r   r   r   test_del6   s
    
r&   c                  C  s4   t  } td| d}d|d< d|d< | dd d S )Nr   r
   on_evictr   r   r   r   ZMockr   Zassert_called_once_withr(   r   r   r   r   test_on_evict>   s
    r+   c                  C  s,   t  } td| d}d|d< | dd d S )Nr   r'   r   r   r)   r*   r   r   r   test_on_evict_trivialF   s    r,   c               	   C  s   t dd} | jdkstd| d< d| d< d| d< t|  dd	gksHtd
| _d| d< t|  dd	dgksptd| _t|  dgksttt d| _W 5 Q R X d S )Nr   r	   r   wr   r   r   r   r   
   r   r   r   r   )r   r
   r   r   r   r    r!   r#   r   r   r   r   test_resizeM   s    
r/   )
__future__r   typingr   Zunittestr   r    Zxarray.backends.lru_cacher   r   r   r$   r%   r&   r+   r,   r/   r   r   r   r   <module>   s   