U
    ‚i2ed  ã                   @   s|   d dl Z d dlZd dlZd dlZddlmZmZ ddlm	Z	 ddl
mZ G dd„ dƒZG d	d
„ d
eƒZG dd„ de jƒZdS )é    Né   )ÚTraversableResourcesÚResourceReaderé   )Úutil)Ú	os_helperc                   @   s&   e Zd ZdZedœdd„Zdd„ ZdS )ÚSimpleLoaderzA
    A simple loader that only implements a resource reader.
    ©Úreaderc                 C   s
   || _ d S ©Nr	   )Úselfr
   © r   úI/tmp/pip-unpacked-wheel-bn52x7jx/importlib_resources/tests/test_custom.pyÚ__init__   s    zSimpleLoader.__init__c                 C   s   | j S r   r	   )r   Úpackager   r   r   Úget_resource_reader   s    z SimpleLoader.get_resource_readerN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   r   r      s   r   c                   @   s(   e Zd ZdZejdœdd„Zdd„ ZdS )ÚMagicResourcesz2
    Magically returns the resources at path.
    ©Úpathc                 C   s
   || _ d S r   r   )r   r   r   r   r   r      s    zMagicResources.__init__c                 C   s   | j S r   r   ©r   r   r   r   Úfiles   s    zMagicResources.filesN)r   r   r   r   ÚpathlibÚPathr   r   r   r   r   r   r      s   r   c                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚCustomTraversableResourcesTestsc                 C   s   t  ¡ | _|  | jj¡ d S r   )Ú
contextlibÚ	ExitStackÚfixturesZ
addCleanupÚcloser   r   r   r   ÚsetUp$   s    
z%CustomTraversableResourcesTests.setUpc                 C   s@   | j  t ¡ ¡}tt|ƒƒ}t |¡}t 	|¡}||ks<t
‚d S r   )r    Úenter_contextr   Útemp_dirr   r   r   Zcreate_package_from_loaderÚ	resourcesr   ÚAssertionError)r   r$   ÚloaderÚpkgr   r   r   r   Útest_custom_loader(   s
    

z2CustomTraversableResourcesTests.test_custom_loaderN)r   r   r   r"   r)   r   r   r   r   r   #   s   r   )Zunittestr   r   Zimportlib_resourcesr%   Úabcr   r   Ú r   Ú_compatr   r   r   ZTestCaser   r   r   r   r   Ú<module>   s   