U
    i2e	                     @   s   d dl Z d dlZddlmZ ddlmZ d dlmZ G dd deje j	Z
G dd	 d	eje j	ZG d
d dZG dd dee j	ZG dd deeje j	ZG dd dee j	Zedkre   dS )    N   )data01)util)import_modulec                   @   s   e Zd Zdd ZdS )CommonBinaryTestsc                 C   s   t ||  d S )N)	resourcesfilesjoinpath
read_bytesselfpackagepath r   G/tmp/pip-unpacked-wheel-bn52x7jx/importlib_resources/tests/test_read.pyexecute
   s    zCommonBinaryTests.executeN__name__
__module____qualname__r   r   r   r   r   r   	   s   r   c                   @   s   e Zd Zdd ZdS )CommonTextTestsc                 C   s   t ||jdd d S )Nutf-8encoding)r   r   r	   	read_textr   r   r   r   r      s    zCommonTextTests.executeNr   r   r   r   r   r      s   r   c                   @   s,   e Zd Zdd Zdd Zdd Zdd Zd	S )
	ReadTestsc                 C   s&   t | jd }| |d d S )Nbinary.file    )r   r   datar	   r
   assertEqualr   resultr   r   r   test_read_bytes   s    zReadTests.test_read_bytesc                 C   s*   t | jdjdd}| |d d S )Nz
utf-8.filer   r   zHello, UTF-8 world!
r   r   r   r	   r   r   r    r   r   r   test_read_text_default_encoding   s    z)ReadTests.test_read_text_default_encodingc                 C   s*   t | jdjdd}| |d d S )Nutf-16.filezutf-16r   zHello, UTF-16 world!
r#   r    r   r   r   test_read_text_given_encoding    s    z'ReadTests.test_read_text_given_encodingc                 C   s@   t | jd }| jt|jdd |jddd}| |d dS )zD
        Raises UnicodeError without the 'errors' argument.
        r%   r   r   ignore)r   errorsz*H e l l o ,   U T F - 1 6   w o r l d ! 
 N)r   r   r   assertRaisesUnicodeErrorr   r   )r   targetr!   r   r   r   test_read_text_with_errors(   s    z$ReadTests.test_read_text_with_errorsN)r   r   r   r"   r$   r&   r,   r   r   r   r   r      s   r   c                   @   s   e Zd ZeZdS )ReadDiskTestsN)r   r   r   r   r   r   r   r   r   r-   7   s   r-   c                   @   s   e Zd Zdd Zdd ZdS )ReadZipTestsc                 C   s,   t d}t|d }| |d d S Nzdata01.subdirectoryr   r   )r   r   r   r	   r
   r   )r   	submoduler!   r   r   r   test_read_submodule_resource<   s    z)ReadZipTests.test_read_submodule_resourcec                 C   s$   t dd }| |d d S r/   )r   r   r	   r
   r   r    r   r   r   $test_read_submodule_resource_by_nameA   s    z1ReadZipTests.test_read_submodule_resource_by_nameN)r   r   r   r1   r2   r   r   r   r   r.   ;   s   r.   c                   @   s   e Zd Zdd ZdS )ReadNamespaceTestsc                 C   s   ddl m} || _d S )Nr   )namespacedata01) r4   r   )r   r4   r   r   r   setUpI   s    zReadNamespaceTests.setUpN)r   r   r   r6   r   r   r   r   r3   H   s   r3   __main__)ZunittestZimportlib_resourcesr   r5   r   r   	importlibr   ZCommonTestsZTestCaser   r   r   r-   ZZipSetupr.   r3   r   mainr   r   r   r   <module>   s   $