
    [6gL                    J   d dl mZ d dlZd dlZd dlZd dlZd dlZd dl	m
Z d dlmZ d dlmZmZmZmZ ej        d             Zej        d             Zej        d             Zej        d             Zej        d	             Zej        d
             Zej        d             Zej        d             Z G d dej                  Zd Zd Zd Z d Z!ej"        #                    dddg          d             Z$ G d de          Z% G d de%          Z&e&'                                 d Z(ej"        #                    de%e&g          d             Z)ej"        #                    ddg dg d fdg d!g d"fg          d#             Z*d$ Z+d% Z,d& Z-d' Z.d( Z/d) Z0d* Z1d+ Z2d, Z3d- Z4dS ).    )annotationsN)base)DecimalArrayDecimalDtype	make_data
to_decimalc                     t                      S N)r        j/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/pandas/tests/extension/decimal/test_decimal.pydtyper      s    >>r   c                 8    t          t                                S r
   )r   r   r   r   r   datar      s    	$$$r   c                 N    t          d t          d          D                       S )Nc                6    g | ]}t          j        d           S )   )decimalDecimal).0_s     r   
<listcomp>z!data_for_twos.<locals>.<listcomp>    s"    @@@++@@@r   d   )r   ranger   r   r   data_for_twosr      s%    @@U3ZZ@@@AAAr   c                 l    t          t          j        d          t          j        d          g          S )NNaN   r   r   r   r   r   r   data_missingr    #   s)    //1C1CDEEEr   c                     t          t          j        d          t          j        d          t          j        d          g          S )N120r   r   r   r   data_for_sortingr%   (   s<    			ws33W_S5I5IJ  r   c                     t          t          j        d          t          j        d          t          j        d          g          S )Nr"   r   r$   r   r   r   r   data_missing_for_sortingr'   /   s<    			wu55ws7K7KL  r   c                     d S )Nc                R    |                                  o|                                 S r
   )is_nan)xys     r   <lambda>zna_cmp.<locals>.<lambda>8   s    

1qxxzz r   r   r   r   r   na_cmpr.   6   s    111r   c            
         t          j        d          } t          j        d          }t          j        d          }t          j        d          }t          | | ||||| |g          S )N1.0z0.02.0r   )r   r   r   )bacnas       r   data_for_groupingr6   ;   s]    AAA			BAr2q!Q2333r   c                  v    e Zd Zd-dZd.d	Zd/ fdZ fdZ fdZd Zd Z	d Z
 fdZ fdZej                            ddg dg dfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfg           fd            Z fdZ fdZ fd Z fd!Z fd"Z fd#Zej                            d$d%d&g          d'             Zd( Zej                            d)*          ej                            d+ej        ej        ej        g           fd,                        Z xZS )0TestDecimalArrayop_namestrreturntype[Exception] | Nonec                    d S r
   r   )selfr9   objothers       r   _get_expected_exceptionz(TestDecimalArray._get_expected_exceptionE   s	     tr   ser	pd.Seriesboolc                    dS )NTr   )r>   rB   r9   s      r   _supports_reductionz$TestDecimalArray._supports_reductionJ   s    tr   skipnac                   |dk    r#t                                          |||          S  t          ||          |          } t          t          j        |          |                      }t          j        ||           d S )Ncount)rG   )supercheck_reducegetattrnpasarraytmassert_almost_equal)r>   rB   r9   rG   resultexpected	__class__s         r   rK   zTestDecimalArray.check_reduceM   s~    g77''Wf===*WS'**&999F8wrz#88::H"6844444r   c                    |dv r:t           j                            t                    }|                    |           t                                          |||           d S )N)kurtskewsemmedianraises)pytestmarkxfailNotImplementedErrorapplymarkerrJ   test_reduce_series_numeric)r>   r   all_numeric_reductionsrG   requestr\   rS   s         r   r`   z+TestDecimalArray.test_reduce_series_numericU   s_    !%FFF;$$,?$@@D%%%**41GPPPPPr   c                    |}|dv r:t           j                            t                    }|                    |           t                                          |||          S )N)rV   rX   rY   )r[   r\   r]   r^   r_   rJ   test_reduce_frame)r>   r   ra   rG   rb   r9   r\   rS   s          r   rd   z"TestDecimalArray.test_reduce_frame[   s^    ((((;$$,?$@@D%%%ww((/EvNNNr   c                ^    t          j        |          }|                     |||d           d S )N      ?)pdSeries_compare_other)r>   r   comparison_oprB   s       r   test_compare_scalarz$TestDecimalArray.test_compare_scalarc   s/    iooC}c:::::r   c                $   t          j        |          }t          j                            d                              g dt          |                    }t          j        |          d |D             z  }|                     ||||           d S )Nr   )r   r   c                R    g | ]$}t          j        t          d |                    %S )g       @)r   r   pow)r   is     r   r   z7TestDecimalArray.test_compare_array.<locals>.<listcomp>l   s*    "O"O"OA7?3sA;;#?#?"O"O"Or   )rg   rh   rM   randomdefault_rngchoicelenri   )r>   r   rj   rB   alterr@   s         r   test_compare_arrayz#TestDecimalArray.test_compare_arrayg   s    ioo	%%a((//


CIIFF	$"O"O"O"O"OOC}e<<<<<r   c                V   |}t          j        |          }t          j                    }|j        t          j                 }|j        t          j                 }d|j        t          j        <   d|j        t          j        <   t          j        d |D                       }|                     |||           d|vr|                     |||dz             |                     ||d           |                     ||d           ||j        t          j        <   ||j        t          j        <   d S )Nr   c                2    g | ]}t          |d z            S )r   )int)r   ds     r   r   zATestDecimalArray.test_arith_series_with_array.<locals>.<listcomp>z   s"    666A3q3w<<666r   modr      )rg   rh   r   
getcontexttrapsDivisionByZeroInvalidOperationcheck_opname)	r>   r   all_arithmetic_operatorsr9   rB   contextdivbyzerotrapinvalidoptrapr@   s	            r   test_arith_series_with_arrayz-TestDecimalArray.test_arith_series_with_arrayo   s   *ioo$&&g&<=g&>?01g,-23g./ 	6666677#w...c7C!G444#w***#w***0=g,-2?g.///r   c                    d}t          j        t          |d          5  t                                          |           d d d            d S # 1 swxY w Y   d S Nz,ExtensionArray.fillna added a 'copy' keywordFmatchcheck_stacklevel)rO   assert_produces_warningDeprecationWarningrJ   test_fillna_framer>   r    msgrS   s      r   r   z"TestDecimalArray.test_fillna_frame   s    <'cE
 
 
 	4 	4 GG%%l333	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4   "AAAc                j   d}t          j        t          |dd          5  t                                          |           d d d            n# 1 swxY w Y   d}t          j        t
          |dd          5  t                                          |           d d d            d S # 1 swxY w Y   d S )N4ExtensionArray.fillna 'method' keyword is deprecatedFr   r   raise_on_extra_warnings9The 'method' keyword in DecimalArray.fillna is deprecated)rO   r   r   rJ   test_fillna_limit_padFutureWarningr   s      r   r   z&TestDecimalArray.test_fillna_limit_pad   sE   D'"$)	
 
 
 	8 	8 GG)),777	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 J'"$)	
 
 
 	8 	8 GG)),777	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8s#   "AAA9"B((B,/B,z'limit_area, input_ilocs, expected_ilocsoutside)r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   inside)r   r   r   r   r   c                *   d}t          j        t          |dd          5  d}t          j        t
          |          5  t                                          ||||           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr   Fr   z*DecimalArray does not implement limit_area)r   )rO   r   r   r[   rZ   r^   rJ   test_ffill_limit_area)r>   r    
limit_areainput_ilocsexpected_ilocsr   rS   s         r   r   z&TestDecimalArray.test_ffill_limit_area   s*   " E'"$)	
 
 
 
	 
	 ?C2#>>>  -- *k>                
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	s4   B%A0$B0A4	4B7A4	8BBBc                   d}t          j        t          |dd          5  t                                          |           d d d            n# 1 swxY w Y   d}t          j        t
          |dd          5  t                                          |           d d d            n# 1 swxY w Y   d}t          j        t          |dd          5  t                                          |           d d d            d S # 1 swxY w Y   d S )Nz)Series.fillna with 'method' is deprecatedFr   r   r   )rO   r   r   rJ   test_fillna_limit_backfillr   r   s      r   r   z+TestDecimalArray.test_fillna_limit_backfill   s   9'"$)	
 
 
 	= 	= GG..|<<<	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= E'"$)	
 
 
 	= 	= GG..|<<<	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= J'"$)	
 
 
 	= 	= GG..|<<<	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	=s5   "AAA9"B''B+.B+"D  DDc                    d                     ddg          }t          j        t          t          f|d          5  t                                          |           d d d            d S # 1 swxY w Y   d S N|r   r   Fr   )joinrO   r   r   r   rJ   test_fillna_no_op_returns_copy)r>   r   r   rS   s      r   r   z/TestDecimalArray.test_fillna_no_op_returns_copy   s    hhFK
 
 './sU
 
 
 	9 	9 GG224888	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9s   "A++A/2A/c                    d}t          j        t          |d          5  t                                          |           d d d            d S # 1 swxY w Y   d S r   )rO   r   r   rJ   test_fillna_seriesr   s      r   r   z#TestDecimalArray.test_fillna_series   s    <'cE
 
 
 	5 	5 GG&&|444	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5r   c                    d                     ddg          }t          j        t          t          f|d          5  t                                          ||           d d d            d S # 1 swxY w Y   d S r   )r   rO   r   r   r   rJ   test_fillna_series_method)r>   r    fillna_methodr   rS   s       r   r   z*TestDecimalArray.test_fillna_series_method   s    hhFK
 
 './sU
 
 
 	K 	K GG--lMJJJ	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	Ks   #A,,A03A0c                    |st           nd }d}t          j        ||d          5  t                                          |           d d d            d S # 1 swxY w Y   d S r   )r   rO   r   rJ   test_fillna_copy_framer>   r    using_copy_on_writewarnr   rS   s        r   r   z'TestDecimalArray.test_fillna_copy_frame   s    )<F!!$<'C%PPP 	9 	9GG**<888	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9   "AAAc                    |st           nd }d}t          j        ||d          5  t                                          |           d d d            d S # 1 swxY w Y   d S r   )r   rO   r   rJ   test_fillna_copy_seriesr   s        r   r   z(TestDecimalArray.test_fillna_copy_series   s    )<F!!$<'C%PPP 	: 	:GG++L999	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	:r   dropnaTFc                   |d d         }|r.t          j        ||                                                    }n|}t          j        |                              |          }t          j        |                              |          }t          j                    5 }d|j        t          j	        <   |
                                }|
                                }	d d d            n# 1 swxY w Y   t          j        ||	           d S )N
   )r   F)rM   arrayisnarg   rh   value_countsr   localcontextr~   r   
sort_indexrO   assert_series_equal)
r>   all_datar   rb   r@   vcsvcs_exctxrQ   rR   s
             r   test_value_countsz"TestDecimalArray.test_value_counts  s(   CRC= 	HXx}}&6788EEEi!!..f.==5!!..f.==!## 	+s27CIg./^^%%F((**H	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	vx00000s    =C))C-0C-c                    t          j        |          }|j        j        t	          |          v sJ dt	          |          v sJ d S )Nz	Decimal: )rg   rh   r   namerepr)r>   r   rB   s      r   test_series_reprz!TestDecimalArray.test_series_repr  sI     iooz$s))++++d3ii''''''r   z%Inconsistent array-vs-scalar behavior)reasonufuncc                L    t                                          ||           d S r
   )rJ   #test_unary_ufunc_dunder_equivalence)r>   r   r   rS   s      r   r   z4TestDecimalArray.test_unary_ufunc_dunder_equivalence  s%     	33D%@@@@@r   )r9   r:   r;   r<   )rB   rC   r9   r:   r;   rD   )rB   rC   r9   r:   rG   rD   ) __name__
__module____qualname__rA   rF   rK   r`   rd   rk   rv   r   r   r   r[   r\   parametrizer   r   r   r   r   r   r   r   r   r]   rM   positivenegativeabsr   __classcell__)rS   s   @r   r8   r8   D   s           
   5 5 5 5 5 5Q Q Q Q QO O O O O; ; ;= = =@ @ @,4 4 4 4 48 8 8 8 8& [199998888		
     "= = = = =8
9 
9 
9 
9 
95 5 5 5 5
K 
K 
K 
K 
K9 9 9 9 9: : : : : [Xe}551 1 651&( ( ( [EFF[Wr{BK&HIIA A A A JI GFA A A A Ar   r8   c                 \   t          t          j        d          t          j        d          g          } |                     ddgdt          j        d                    }t          t          j        d          t          j        d          g          }t	          j        ||           d S )Nr0   r1   r   rm   Tz-1.0)
allow_fill
fill_value)r   r   r   takerO   assert_extension_array_equalarrrQ   rR   s      r    test_take_na_value_other_decimalr   %  s    
..0F0FG
H
HCXXq"g$7?6;R;RXSSFW_U33W_V5L5LMNNH#FH55555r   c                 8   t                      } t          j        g d|           }t          t	          j        d          t	          j        d          t	          j        d          g|           }t          j        |          }t          j        ||           d S )N)r   r   r   r   r   r   r   )r   rg   rh   r   r   r   rO   r   )r   rB   r   exps       r   6test_series_constructor_coerce_data_to_extension_dtyper   ,  s    NNE
)IIIU
+
+
+C
			W_Q//1C1CD  C )C..C3$$$$$r   c                 `   t          t          j        d          g          } t          j        | t                                }t          j        |           }t          j        ||           t          j        | d          }t          j        dg          }t          j        ||           d S )N10.0r   int64r   )r   r   r   rg   rh   r   rO   r   r   s      r   "test_series_constructor_with_dtyper   8  s    
//0
1
1CYs,..111Fy~~H68,,,Ys'***Fy"H68,,,,,r   c                    t          t          j        d          g          } t          j        d| it                                }t          j        d| i          }t          j        ||           t          t          j        d          g          } t          j        d| id          }t          j        ddgi          }t          j        ||           d S )Nr   Ar   r   r   )r   r   r   rg   	DataFramer   rO   assert_frame_equalr   s      r   %test_dataframe_constructor_with_dtyper   C  s    
//0
1
1C\3*LNN;;;F|S#J''H&(+++
//0
1
1C\3*G444F|S2$K((H&(+++++r   frameTFc                b   t          j        t          t          j        d          g          d          }t          j                    }d|_        | r|                                }|                    t          |                    }| r|d         }|j
        j        j        |j        k    sJ d S )Nr   r3   )r   r|   )rg   rh   r   r   r   Contextprecto_frameastyper   r   r   )r   r   r   rQ   s       r   test_astype_dispatchesr   P  s     9\7?1#5#5"677cBBBD
/

CCH }}[[c**++F <$000000r   c                  0    e Zd ZdZedddd            ZdS )DecimalArrayWithoutFromSequencez:Helper class for testing error handling in _from_sequence.NF)r   copyc                    t          d          )NzFor the test)KeyError)clsscalarsr   r   s       r   _from_sequencez.DecimalArrayWithoutFromSequence._from_sequenceh  s    ~&&&r   )r   r   r   __doc__classmethodr   r   r   r   r   r   e  sB        DD.2 ' ' ' ' [' ' 'r   r   c                  $    e Zd Zed             ZdS )DecimalArrayWithoutCoercionc                0    |                      |d          S )NF)coerce_to_dtype)_create_method)r   ops     r   _create_arithmetic_methodz5DecimalArrayWithoutCoercion._create_arithmetic_methodn  s    !!"e!<<<r   N)r   r   r   r   r   r   r   r   r   r   m  s-        = = [= = =r   r   c                   t           }t          d             }|                     t          d|            |t	          j        d          t	          j        d          g          }t          j        |          }|                    |t          j
                  }t          j        t	          j        d          t	          j        d          gd          }t          j        ||           d S )Nc                    t           S r
   )r   )r   s    r   construct_array_typez?test_combine_from_sequence_raises.<locals>.construct_array_typez  s    ..r   r  r0   r1   4.0objectr   )r   r   setattrr   r   r   rg   rh   combineoperatoraddrO   r   )monkeypatchr   r  r   rB   rQ   rR   s          r   !test_combine_from_sequence_raisesr
  v  s    
)C/ / [/ &<>RSSS
#wu%%wu'='=>
?
?C
)C..C[[hl++F y			!7!78  H 68,,,,,r   class_c                    | t          j        d          t          j        d          g          }||z   }t          j        t          j        d          t          j        d          gd          }t	          j        ||           d S )Nr0   r1   r  r  r   )r   r   rM   r   rO   assert_numpy_array_equal)r  r   rQ   rR   s       r   $test_scalar_ops_from_sequence_raisesr    s     &'/%(('/%*@*@A
B
BC3YFx			!7!78  H 11111r   z#reverse, expected_div, expected_mod)r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   c                
   t          g d          }| rt          d|          \  }}nt          |d          \  }}t          |          }t          |          }t          j        ||           t          j        ||           d S )N)r   r         r   )r   divmodrO   r   )reverseexpected_divexpected_modr   divr{   s         r   test_divmod_arrayr    s     \\\
"
"C "!S>>SS#q>>Sl++Ll++L#C666#C66666r   c                    | d d         }t          j        |t          dd                    }t          j        |          }t          j        t          j        |          t          dd                    }t          j        ||           d S )Nr|   r     index)rg   rh   r   rM   r   rO   r   )r   r3   srQ   rR   s        r   test_ufunc_fallbackr    su    RaRA
	!5A;;'''AVAYYFy%1++666H68,,,,,r   c                     t          g d          } t          j        |           }t          t          j        | j                            }t	          j        ||           d S Nr   r   r  )r   rM   r   _datarO   r   )r3   rQ   rR   s      r   test_array_ufuncr"    sP    999AVAYYF"&//**H#FH55555r   c                    t          g d          } t          j        |           }t          j        |          }t          j        t          t          j        | j                                      }t          j        ||           d S r  )r   rg   rh   rM   r   r!  rO   r   r3   r  rQ   rR   s       r   test_array_ufunc_seriesr%    sg    999A
	!AVAYYFyBF17OO4455H68,,,,,r   c                 :   t          g d          } t          j        |           }t          j        |t          j        d                    }t          j        t          j        | t          j        d                              }t          j        ||           d S )Nr   r   )	r   rg   rh   rM   r  r   r   rO   r   r$  s       r   $test_array_ufunc_series_scalar_otherr'    sy    999A
	!AVAwq))**Fy7?1#5#56677H68,,,,,r   c                 >   t          g d          } t          j        |           }t          j        t          g d                    }t          j        ||           }t          j        | |          }t          j        ||           t          j        ||           d S )Nr   )r   r     )r   rg   rh   rM   r  rO   r   )r3   r  rR   r1r2s        r   test_array_ufunc_series_deferr,    s    999A
	!AyIII..//H	1B	1B2x(((2x(((((r   c                    t                      d d         } t          j        g dg dt          |           d          }t          j        t          | d         | d         g                    }|                    d          d                             d	           }t          j	        ||d
           |d                             |d                                       d           }t          j	        ||d
           t          j        t          | d         | d         | d         g          t          j
                            g d                    }|                    ddg          d                             d           }t          j	        ||d
           |d                             |d         |d         g                              d           }t          j	        ||d
           t          j        ddgt          | d         | d         g          d          }|                    d                              d           }t          j        ||d
           d S )Nr|   r   r   r   r   r   r   )id1id2decimalsr   r  r/  r1  c                    | j         d         S Nr   ilocr+   s    r   r-   z"test_groupby_agg.<locals>.<lambda>  s     r   Fcheck_namesc                    | j         d         S r3  r4  r6  s    r   r-   z"test_groupby_agg.<locals>.<lambda>  s    QVAY r   r   )r   r   )r   r   )r   r   r  r0  c                    | j         d         S r3  r4  r6  s    r   r-   z"test_groupby_agg.<locals>.<lambda>  s    !&) r   c                    | j         d         S r3  r4  r6  s    r   r-   z"test_groupby_agg.<locals>.<lambda>  s    !&QR) r   )r0  r1  c                    | j         d         S r3  r4  r6  s    r   r-   z"test_groupby_agg.<locals>.<lambda>  s    QVAY r   )r   rg   r   r   rh   r   groupbyaggrO   r   
MultiIndexfrom_tuplesr   )r   dfrR   rQ   s       r   test_groupby_aggrC    sG    ;;rr?D	\RVEWEWXX
 
B
 yT!Wd1g$67788HZZz*../B/BCCF68????
^##BuI..223F3FGGF68???? yDGT!Wd1g.//m''(@(@(@AA  H ZZ''
3778K8KLLF68????
^##RY5	$:;;??@S@STTF68???? |QF
DGTRSWCU8V8VWWXXHZZ""#6#677F&(>>>>>>r   c                   d }|                      t          d|d           t                      d d         }t          j        g dt          |          d          }t          j        t          |d         |d	         z   |d
         z   |d         |d         z   g                    }|                    d          d                             d           }t          j
        ||d           t          j        t          |                    }t          j        g dt          j                  }|                    |                              d           }t          j
        ||d           d S )Nc                N    t          j        t          j        |                     S r
   )rM   sumr   )r>   s    r   DecimalArray__my_sumz8test_groupby_agg_ea_method.<locals>.DecimalArray__my_sum  s    vbhtnn%%%r   my_sumFraisingr|   r.  )idr1  r   r   r   r  r  rK  r1  c                4    | j                                         S r
   valuesrH  r6  s    r   r-   z,test_groupby_agg_ea_method.<locals>.<lambda>  s    8I8I r   r7  r   c                4    | j                                         S r
   rM  r6  s    r   r-   z,test_groupby_agg_ea_method.<locals>.<lambda>  s    ahoo.?.? r   )r  r   r   rg   r   rh   r   r>  r?  rO   r   rM   r   r   )r	  rG  r   rB  rR   rQ   r  groupers           r   test_groupby_agg_ea_methodrQ    sW   & & & h0DeTTT;;rr?D	___,t:L:LMM	N	NByT!WtAw%6a%@$q'DQRGBS$TUUVVHZZj)--.I.IJJF68????
	,t$$%%Ahbh777GYYw##$?$?@@F68??????r   c                n   d	d}|                      t          d|d           t                      }t          j        t          |                    }t          j        |t          t          |                    d          }||dk              ||dk              |j        d          |j        d          d S )
Nc                     t          d          )Nz0tried to convert a DecimalArray to a numpy array)	Exception)r>   r   s     r   DecimalArray__array__z;test_indexing_no_materialize.<locals>.DecimalArray__array__  s    JKKKr   	__array__FrI  )r3   r2   rf   r   )r   r3   r
   )	r  r   r   rg   rh   r   r   rt   at)r	  rU  r   r  rB  s        r   test_indexing_no_materializerX    s    
L L L L k3HRWXXX;;D
	,t$$%%A	AE#a&&MM22	3	3B a#gJJq3wKKDGGE&MMMMr   c                    t          j        d          t          j        d          g} t          j        t          j        d          t          j        d          gd          }t	          j        | d          }|                    d	          }t          j        ||           t	          j        |                              d	          }t          j        ||           d S )
Nz1.1111z2.2222z1.11z2.22r  r   r   r   )r1  )	r   r   rM   r   rg   to_numpyrO   r  rh   )rN  rR   r3   rQ   s       r   test_to_numpy_keywordr[  !  s    oh'')B)BCFx		 	 '/&"9"9:(  H 	y)))AZZZ##F111Yq\\""A"..F11111r   c                   t          j        dt          j        d          t          j        d          gid          }|                    t                                }d|j        d<   | rkt          j        dt          j        d          t          j        d          git                                }t          j        |j	        |j	                   d S d S )Nr3   r   r  r  r   r   r:  )
rg   r   r   r   r   r   r5  rO   assert_equalrN  )r   rB  df2rR   s       r   test_array_copy_on_writer_  /  s    	sW_Q//1C1CDEX	V	V	VB
))LNN
#
#CBGDM 5<7?1%%wq'9'9:;<>>
 
 
 	
HO44444	5 5r   )5
__future__r   r   r  numpyrM   r[   pandasrg   pandas._testing_testingrO   pandas.tests.extensionr   $pandas.tests.extension.decimal.arrayr   r   r   r   fixturer   r   r   r    r%   r'   r.   r6   ExtensionTestsr8   r   r   r   r   r\   r   r   r   r   _add_arithmetic_opsr
  r  r  r  r"  r%  r'  r,  rC  rQ  rX  r[  r_  r   r   r   <module>rj     s   " " " " " "                  ' ' ' ' ' '               % % % B B B F F F       2 2 2 4 4 4^A ^A ^A ^A ^At* ^A ^A ^AB6 6 6	% 	% 	%- - -
, 
, 
, 4-001 1 101(' ' ' ' 'l ' ' '= = = = ="A = = =  / / 1 1 1- - -* .0KL 2 2 2 )\\\<<<(4|||*LM 7 7	 7- - -6 6 6- - -- - -	) 	) 	)? ? ?@@ @ @*  *2 2 25 5 5 5 5r   