o
    +ke                     @   s2   d dl mZ d dlZddlmZ G dd dZdS )    )TemporaryFileN   )LRUCachec                   @   s   e Zd Zdd Zdd ZdS )TestLRUCachec                 C   s  t ddd d}t|dksJ | t ksJ tdD ]\}}|||< qt|dks.J | ddhks8J d	|vs>J d
|v sDJ tt |d	  W d    n1 sXw   Y  |d	d u sfJ |d	ddkspJ |d
 dksxJ |d
dksJ |d dksJ d|d< t|dksJ |d dksJ |d dksJ |d= t|dksJ tt |d  W d    n1 sw   Y  |d dksJ |	  | t ksJ d S )Nr   c                 S   s   d S N )_r   r   ;usr/lib/python3.10/site-packages/borg/testsuite/lrucache.py<lambda>   s    z,TestLRUCache.test_lrucache.<locals>.<lambda>Zdisposer   abc)b   )cr   ar   Zfoor   r      d)
r   lenitemsset	enumeratepytestraisesKeyErrorgetclear)selfr   ixr   r   r	   test_lrucache
   s:   


zTestLRUCache.test_lrucachec                 C   s   t ddd d}t }t }t }||d< ||d< |jrJ ||d< d|vs(J |js-J d|v s3J |jr8J |d= d|vsAJ |jsFJ |  | t ksSJ |jsXJ d S )Nr   c                 S   s   |   S r   )close)fr   r   r	   r
   (   s    z+TestLRUCache.test_dispose.<locals>.<lambda>r   r   r   )r   r   closedr   r   r   )r   r   f1f2Zf3r   r   r	   test_dispose'   s$   



zTestLRUCache.test_disposeN)__name__
__module____qualname__r   r%   r   r   r   r	   r      s    r   )tempfiler   r   Zlrucacher   r   r   r   r   r	   <module>   s    