o
    µ2úhª  ã                   @   s<   d Z ddlZddlmZmZ ddlmZ G dd„ deƒZdS )	z6
    Tests the h5py.AttributeManager.create() method.
é    Né   )Úh5tÚh5aé   )Ú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ÚassertEqualÚ	get_classr   ÚARRAYÚassertArrayEqual)ÚselfÚdtr   ÚaidÚhtypeÚout© r"   ú[/var/www/html/chatgem/venv/lib/python3.10/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   Ú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 d   ƒ d S 1 sMw   Y  d S )N©ÚaÚbr   ©r   ÚOÚU1Úy)r   r   r   Ú
assertTrueÚallr   r   r   ÚarrayÚassertRaisesÚ	TypeError)r   r   ÚresultÚ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   r3   r	   )r	   )r   r   r   r   r<   r   r   )r   r9   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 d   ƒ n1 s7w   Y  t  d¡}|  t¡ | jjjd|d	|d
 W d   ƒ d S 1 s]w   Y  d S )Nr   r	   r
   r   r   r   é   z()i)é   )r   r<   r   )r   r   r   r   r   r   r7   Ú
ValueError)r   r   r6   r"   r"   r#   Ú
test_dtypeP   s   
ÿ
"ÿzTestArray.test_dtypec                 C   sB   |   t¡ | jjjddd W d   ƒ d S 1 sw   Y  d S )Nr   r-   r0   )r7   r8   r   r   r   r'   r"   r"   r#   Útest_key_type]   s   "ÿzTestArray.test_key_typeN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r$   r(   r,   r;   r=   rA   rB   r"   r"   r"   r#   r      s    	r   )	rF   Únumpyr   Ú r   r   Úcommonr   r   r"   r"   r"   r#   Ú<module>   s
   	