
    Owg                     t   d dl Zd dlZd dlmZ d dlmZ d dlZd dl	m
Z d dlmZ  G d dej                        Z G d de      Z G d	 d
      Zd Zd Zej(                  j+                  d ej,                          ej.                         g      d        Z G d dej2                  j4                        Zd Zy)    N)dtypesis_extension_array_dtype)ExtensionArrayc                       e Zd Zy)
DummyDtypeN)__name__
__module____qualname__     Y/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/extension/test_common.pyr   r      s    r   r   c                   4    e Zd ZddZddZed        ZddZy)	
DummyArrayNc                     || _         y Ndata)selfr   s     r   __init__zDummyArray.__init__   s	    	r   c                     | j                   S r   r   r   dtypecopys      r   	__array__zDummyArray.__array__   s    yyr   c                     t               S r   )r   )r   s    r   r   zDummyArray.dtype   s
    |r   c                     t        |t              r|r t        |       | j                        S | S |st	        j
                  | |      S t	        j                  | ||      S )Nr   )r   r   )
isinstancer   typer   npasarrayarrayr   s      r   astypezDummyArray.astype   sP    eZ(!tDz$)),,K::d%0088DD99r   )returnN)NN)T)r	   r
   r   r   r   propertyr   r$   r   r   r   r   r      s%      	:r   r   c                      e Zd Zej                  j                  d ej                  g        ej                  g       j                   ej                   ej                  g              e
        e ej                  ddg            g      d        Zej                  j                  d ej                  g        ej                   ej                  g             g      d        Zy)TestExtensionArrayDtypevalues      c                     t        |      sJ y r   r   r   r)   s     r   test_is_extension_array_dtypez5TestExtensionArrayDtype.test_is_extension_array_dtype(   s     (///r   c                     t        |      rJ y r   r   r-   s     r   !test_is_not_extension_array_dtypez9TestExtensionArrayDtype.test_is_not_extension_array_dtype5   s    +F3333r   N)r	   r
   r   pytestmarkparametrizepdCategoricalr   Seriesr   r   r!   r#   r.   r0   r   r   r   r(   r(   '   s    [[BNN2BNN2$$BIInbnnR()LxrxxA'(	
	0	0 [[Xibii6M'NO4 P4r   r(   c                  "   t        t        j                  g d            } t        j                  g dt              }| j	                  t              }t        j                  ||       | j	                  d      }t        j                  ||       y )Nr*   r+      r   object)r   r!   r#   r:   r$   tmassert_numpy_array_equal)arrexpectedresults      r   test_astyper@   :   sa    
RXXi(
)Cxx	0HZZF1ZZ!F1r   c                      t        t        j                  g dt        j                              } | j	                  | j
                  d      }| |u sJ | j	                  | j
                        }| |usJ y )Nr8   r   F)r   )r   r!   r#   int64r$   r   )r=   r?   s     r   test_astype_no_copyrC   E   s]    
RXXirxx8
9CZZ		Z.F&==ZZ		"Ffr   r   c                 V    t        | t        j                        sJ t        |       sJ y r   )r   r   ExtensionDtyper   r   s    r   r.   r.   O   s&    eV22333#E***r   c                   "     e Zd ZdZ fdZ xZS )CapturingStringArrayz6Extend StringArray to capture arguments to __getitem__c                 0    || _         t        | 	  |      S r   )last_item_argsuper__getitem__)r   item	__class__s     r   rK   z CapturingStringArray.__getitem__X   s    !w"4((r   )r	   r
   r   __doc__rK   __classcell__)rM   s   @r   rG   rG   U   s    @) )r   rG   c            	          t        j                  dt        t        j                  ddgt
                    i      } | j                  d d }| d   j                  j                  }t        |      dk(  sJ y )Ncol1helloworldr   r*   zslice(None, 1, None))	r4   	DataFramerG   r!   r#   r:   ilocrI   str)df_outs      r   test_ellipsis_indexrZ   ]   sk     
	%bhh/A&PQR
B 	A
 V*


(
(Cs8----r   )numpyr!   r1   pandas.core.dtypesr   pandas.core.dtypes.commonr   pandasr4   pandas._testing_testingr;   pandas.core.arraysr   rE   r   r   r(   r@   rC   r2   r3   CategoricalDtypeIntervalDtyper.   arraysStringArrayrG   rZ   r   r   r   <module>rf      s      % >   -	&& 	: :.4 4&2 #:6#:#:#<>Rf>R>R>T"UV+ W+
)29900 ).r   