
    .i2	                        d dl mZ d dlmZmZmZ d dlmZ d dlZ	d dl
mZ d dlZd dlmZ erd dlZd dlmZ d dlmZ d d	lmZmZ  e	j0                  d
      Z G d de      Z G d de      ZddZddZy)    )annotations)TYPE_CHECKINGClassVarSelf)UUIDN)ExtensionDtype)ExtensionArray)Iterable)NDArray)DtypeScalarIndexerV16c                  ^    e Zd ZU dZded<   eZded<   ed	d       Ze	j                  Z
ded<   y)
	UuidDtypeuuidzClassVar[str]namezClassVar[builtins.type[UUID]]typec                    t         S N)UuidExtensionArray)clss    c/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/extension/uuid/test_uuid.pyconstruct_array_typezUuidDtype.construct_array_type'   s    !!    kindN)returnz!builtins.type[UuidExtensionArray])__name__
__module____qualname__r   __annotations__r   r   classmethodr   _UuidNumpyDtyper    r   r   r   r   !   s=     !D- *.D
'." " *..D-.r   r   c                  v    e Zd ZU ded<   ddddZ e       Zded<   eddd		 	 	 	 	 	 	 dd
       ZddZ	ddZ
y)r   zNDArray[np.void]_dataFcopyc               ~    t        j                  |D cg c]  }|j                   c}t              | _        y c c}w )N)dtype)nparraybytesr"   r%   )selfvaluesr'   xs       r   __init__zUuidExtensionArray.__init__4   s&    XX71qww7O
7s   :zClassVar[UuidDtype]r)   N)r)   r'   c               .    |
t               } | ||      S )Nr&   )r   )r   scalarsr)   r'   s       r   _from_sequencez!UuidExtensionArray._from_sequence;   s     =KE7&&r   c                    t        |t        t        j                  z        sJ t	        | j
                  |   j                               S )N)r,   )
isinstanceintr*   integerr   r%   tobytes)r-   indexs     r   __getitem__zUuidExtensionArray.__getitem__G   s8    %rzz!1222$**U+33566r   c                ,    t        | j                        S r   )lenr%   )r-   s    r   __len__zUuidExtensionArray.__len__K   s    4::r   )r.   Iterable[UUID]r'   boolr   None)r2   r>   r)   zDtype | Noner'   r?   r   r   )r9   r   r   r   )r   r6   )r   r   r   r    r0   r   r)   r!   r3   r:   r=   r#   r   r   r   r   /   sl     ?D P
 "+E,
 #	'	' 		'
 	' 
	' 	'7r   r   c                     ddl m}  t        t        d       |        x}g      }|d   j                  dk(  sJ |d   |k(  sJ y)zKTests that we can construct UuidExtensionArray from a list of valid values.r   uuid4)r6      N)r   rC   r   r   r6   )rC   uas      r   test_constructrG   O   sB    DQKeg67AQ488q==Q4199r   c                     ddl m}  t        j                   |        x}gt	               d      }t        |      t        |      v sJ y)z>Tests that Series accepts (unstructured) void ExtensionDtypes.r   rB   s)r)   r   N)r   rC   pdSeriesr   str)rC   rE   rI   s      r   test_seriesrM   X   s7    
		<1.	#>Aq6SVr   )r   r@   )
__future__r   typingr   r   r   r   r   numpyr*   pandas.core.dtypes.dtypesr   pandasrJ   pandas.core.arrays.baser	   builtinscollections.abcr
   numpy.typingr   pandas._typingr   r   r)   r"   r   r   rG   rM   r#   r   r   <module>rX      sh    " 
   4  2($ "((5// / @r   