U
    ½mœd®  ã                   @   s@   d Z ddlZddlmZmZ ddlmZmZ G dd„ deƒZ	dS )	z6
    Tests the h5py.AttributeManager.create() method.
é    Né   )Úh5tÚh5aé   )ÚutÚTestCasec                   @   sH   e Zd ZdZdd„ Zdd„ Zdd„ Zdd	„ Zd
d„ Zdd„ Z	dd„ Z
dS )Ú	TestArrayzG
        Check that top-level array types can be created and read.
    c                 C   sr   t  d¡}t jddd�}| jjjd||d� t | jjd¡}| 	¡ }|  
| ¡ tj¡ | jjd }|  ||¡ d S )Nú(3,)ié   Úi©ÚdtypeÚx©Údatar   ó   x)Únpr   ÚarangeÚfÚattrsÚcreater   ÚopenÚidÚget_typeÚassertEqualZ	get_classr   ZARRAYZassertArrayEqual)ÚselfÚdtr   ZaidZhtypeÚout© r   úY/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/h5py/tests/test_attribute_create.pyÚtest_int   s    
zTestArray.test_intc                 C   s   | j jjdddd� d S )Nr   é*   Úi8r   )r   r   r   ©r   r   r   r   Útest_string_dtype*   s    zTestArray.test_string_dtypec                 C   s@   | j j dtdƒ¡ | j jd }|  |tdƒ¡ |  |t¡ d S )Nr   i©  )r   r   r   Úchrr   ZassertIsInstanceÚstr)r   r   r   r   r   Útest_str/   s    zTestArray.test_strc              	   C   s’   d}| j jjd|d� | j jd }|  t||kƒ¡ |  |jt d¡¡ t |¡}|  |jt d¡¡ |  	t
¡� | j jjd|d� W 5 Q R X d S )N©ÚaÚbr   ©r   ÚOZU1Úy)r   r   r   Ú
assertTrueÚallr   r   r   ÚarrayÚassertRaisesÚ	TypeError)r   r   ÚresultZdata_as_U_arrayr   r   r   Útest_tuple_of_unicode6   s    
zTestArray.test_tuple_of_unicodec                 C   sf   | j jjdddd� | j jd }|  |jd¡ | j jjdt d¡dd� | j jd }|  |jd¡ d S )	Nr   r!   r   )r   Úshape)r   r-   r
   )r
   )r   r   r   r   r5   r   r   )r   r3   r   r   r   Ú
test_shapeG   s    zTestArray.test_shapec              	   C   sž   t  d¡}t jddd�}| jjjd||d� t jddd�}|  t¡� | jjjd||d� W 5 Q R X t  d¡}|  t¡� | jjjd|d	|d
� W 5 Q R X d S )Nr	   r
   r   r   r   r   é   z()i)é   )r   r5   r   )r   r   r   r   r   r   r1   Ú
ValueError)r   r   r0   r   r   r   Ú
test_dtypeP   s    

zTestArray.test_dtypec              	   C   s,   |   t¡� | jjjddd� W 5 Q R X d S )Nr   r(   r+   )r1   r2   r   r   r   r#   r   r   r   Útest_key_type]   s    zTestArray.test_key_typeN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r    r$   r'   r4   r6   r:   r;   r   r   r   r   r      s   	r   )
r?   Únumpyr   Ú r   r   Úcommonr   r   r   r   r   r   r   Ú<module>
   s   