a
    Df                     @   sJ   d Z ddlmZ ddlZddlZddgZG dd dZG dd deZdS )z(Provide base classes for the test system    )TestCaseNTestBaseFileCreatorc                   @   sN   e Zd ZdZdZdddZdd Zdd	 Zd
d Ze	dd Z
e	dd ZdS )r   zA instance which creates a temporary file with a prefix and a given size
    and provides this info to the user.
    Once it gets deleted, it will remove the temporary file as well.)_size_path c                 C   s~   |sJ dt j|d| _|| _t| jd(}||d  |d W d    n1 sZ0    Y  tj	| j|kszJ d S )NzRequire size to be larger 0)prefixwb      1)
tempfilemktempr   r   openseekwriteospathgetsize)selfsizer   fp r   [/nfs/NAS7/SABIOD/METHODE/ermites/ermites_venv/lib/python3.9/site-packages/smmap/test/lib.py__init__   s    (zFileCreator.__init__c                 C   s(   zt | j W n ty"   Y n0 d S N)r   remover   OSErrorr   r   r   r   __del__   s    zFileCreator.__del__c                 C   s   | S r   r   r   r   r   r   	__enter__%   s    zFileCreator.__enter__c                 C   s   |    d S r   )r   )r   exc_type	exc_value	tracebackr   r   r   __exit__(   s    zFileCreator.__exit__c                 C   s   | j S r   )r   r   r   r   r   r   +   s    zFileCreator.pathc                 C   s   | j S r   )r   r   r   r   r   r   /   s    zFileCreator.sizeN)r   )__name__
__module____qualname____doc__	__slots__r   r   r   r#   propertyr   r   r   r   r   r   r      s   

c                   @   s    e Zd ZdZdZedd ZdS )r   zFoundation used by all testsiK&z c                 C   s   d S r   r   )clsr   r   r   setUpAll?   s    zTestBase.setUpAllN)r$   r%   r&   r'   Zk_window_test_sizeclassmethodr+   r   r   r   r   r   6   s   )r'   Zunittestr   r   r   __all__r   r   r   r   r   r   <module>   s   +