
    bMhO                    V   d dl m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	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( Z0d) Z1d* Z2d+ Z3d, Z4d- Z5d. Z6dS )/    )annotationsN)np_version_gt2)base)DecimalArrayDecimalDtype	make_data
to_decimalc                     t                      S N)r        k/var/www/html/test/jupyter/venv/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(   1   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>:   s    

1qxxzz r   r   r   r   r   na_cmpr/   8   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_groupingr7   =   s]    AAA			BAr2q!Q2333r   c                  |    e Zd Zd.dZd/d	Zd0 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d- Z xZ S )1TestDecimalArrayop_namestrreturn4type[Exception] | tuple[type[Exception], ...] | Nonec                    d S r   r   )selfr:   objothers       r   _get_expected_exceptionz(TestDecimalArray._get_expected_exceptionG   s	     tr   ser	pd.Seriesboolc                    dS )NTr   )r?   rC   r:   s      r   _supports_reductionz$TestDecimalArray._supports_reductionL   s    tr   skipnac                   |dk    r#t                                          |||          S  t          ||          |          } t          t          j        |          |                      }t          j        ||           d S )Ncount)rH   )supercheck_reducegetattrnpasarraytmassert_almost_equal)r?   rC   r:   rH   resultexpected	__class__s         r   rL   zTestDecimalArray.check_reduceO   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applymarkerrK   test_reduce_series_numeric)r?   r   all_numeric_reductionsrH   requestr]   rT   s         r   ra   z+TestDecimalArray.test_reduce_series_numericW   s_    !%FFF;$$,?$@@D%%%**41GPPPPPr   c                    |}|dv r:t           j                            t                    }|                    |           t                                          |||          S )N)rW   rY   rZ   )r\   r]   r^   r_   r`   rK   test_reduce_frame)r?   r   rb   rH   rc   r:   r]   rT   s          r   re   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_oprC   s       r   test_compare_scalarz$TestDecimalArray.test_compare_scalare   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>n   s*    "O"O"OA7?3sA;;#?#?"O"O"Or   )rh   ri   rN   randomdefault_rngchoicelenrj   )r?   r   rk   rC   alterrA   s         r   test_compare_arrayz#TestDecimalArray.test_compare_arrayi   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>|   s"    666A3q3w<<666r   modr      )rh   ri   r   
getcontexttrapsDivisionByZeroInvalidOperationcheck_opname)	r?   r   all_arithmetic_operatorsr:   rC   contextdivbyzerotrapinvalidoptraprA   s	            r   test_arith_series_with_arrayz-TestDecimalArray.test_arith_series_with_arrayq   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)rP   assert_produces_warningDeprecationWarningrK   test_fillna_framer?   r!   msgrT   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)rP   r   r   rK   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   )rP   r   r   r\   r[   r_   rK   test_ffill_limit_area)r?   r!   
limit_areainput_ilocsexpected_ilocsr   rT   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   )rP   r   r   rK   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   )joinrP   r   r   r   rK   test_fillna_no_op_returns_copy)r?   r   r   rT   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   )rP   r   r   rK   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   rP   r   r   r   rK   test_fillna_series_method)r?   r!   fillna_methodr   rT   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   rP   r   rK   test_fillna_copy_framer?   r!   using_copy_on_writewarnr   rT   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   rP   r   rK   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)rN   arrayisnarh   ri   value_countsr   localcontextr   r   
sort_indexrP   assert_series_equal)
r?   all_datar   rc   rA   vcsvcs_exctxrR   rS   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: )rh   ri   r   namerepr)r?   r   rC   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   )rK   #test_unary_ufunc_dunder_equivalence)r?   r   r   rT   s      r   r   z4TestDecimalArray.test_unary_ufunc_dunder_equivalence!  s%     	33D%@@@@@r   c                J   t          j        |d          }t          j        |d          }t          j        ||          rJ t          sd S 	 t          j        |d          }n# t          $ r Y d S w xY wt          j        |d          }t          j        ||          sJ d S )NT)copyF)rN   r   may_share_memoryr   
ValueError)r?   r   result_copy1result_copy2result_nocopy1result_nocopy2s         r   test_array_interface_copyz*TestDecimalArray.test_array_interface_copy&  s    x4000x4000&|\BBBBB 	F	Xd777NN 	 	 	FF	 $U333">>BBBBBBBs   A% %
A32A3)r:   r;   r<   r=   )rC   rD   r:   r;   r<   rE   )rC   rD   r:   r;   rH   rE   )!__name__
__module____qualname__rB   rG   rL   ra   re   rl   rw   r   r   r   r\   r]   parametrizer   r   r   r   r   r   r   r   r   r^   rN   positivenegativeabsr   r   __classcell__)rT   s   @r   r9   r9   F   s2          
   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C C C C C C Cr   r9   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 )Nr1   r2   r   rn   Tz-1.0)
allow_fill
fill_value)r   r   r   takerP   assert_extension_array_equalarrrR   rS   s      r    test_take_na_value_other_decimalr   9  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   rh   ri   r   r   r   rP   r   )r   rC   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   rh   ri   r   rP   r   r   s      r   "test_series_constructor_with_dtyper   L  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   rh   	DataFramer   rP   assert_frame_equalr   s      r   %test_dataframe_constructor_with_dtyper   W  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   r4   )r   r}   )rh   ri   r   r   r   Contextprecto_frameastyper   r   r   )r   r   r   rR   s       r   test_astype_dispatchesr   d  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   r   c                    t          d          )NzFor the test)KeyError)clsscalarsr   r   s       r   _from_sequencez.DecimalArrayWithoutFromSequence._from_sequence|  s    ~&&&r   )r   r   r   __doc__classmethodr   r   r   r   r   r   y  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_method  s    !!"e!<<<r   N)r   r   r   r  r  r   r   r   r  r    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_type  s    ..r   r  r1   r2   4.0objectr   )r   r  setattrr   r   r   rh   ri   combineoperatoraddrP   r   )monkeypatchr   r  r   rC   rR   rS   s          r   !test_combine_from_sequence_raisesr    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 )Nr1   r2   r  r  r   )r   r   rN   r   rP   assert_numpy_array_equal)r  r   rR   rS   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	   divmodrP   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)rh   ri   r   rN   r   rP   r   )r   r4   srR   rS   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	   rN   r   _datarP   r   )r4   rR   rS   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	   rh   ri   rN   r   r*  rP   r   r4   r%  rR   rS   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	   rh   ri   rN   r  r   r   rP   r   r-  s       r   $test_array_ufunc_series_scalar_otherr0    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	   rh   ri   rN   r  rP   r   )r4   r%  rS   r1r2s        r   test_array_ufunc_series_deferr5    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  r8  r:  c                    | j         d         S Nr   ilocr,   s    r   r.   z"test_groupby_agg.<locals>.<lambda>  s     r   Fcheck_namesc                    | j         d         S r<  r=  r?  s    r   r.   z"test_groupby_agg.<locals>.<lambda>  s    QVAY r   r   )r   r   )r   r   )r   r   r#  r9  c                    | j         d         S r<  r=  r?  s    r   r.   z"test_groupby_agg.<locals>.<lambda>   s    !&) r   c                    | j         d         S r<  r=  r?  s    r   r.   z"test_groupby_agg.<locals>.<lambda>  s    !&QR) r   )r9  r:  c                    | j         d         S r<  r=  r?  s    r   r.   z"test_groupby_agg.<locals>.<lambda>  s    QVAY r   )r   rh   r   r   ri   r	   groupbyaggrP   r   
MultiIndexfrom_tuplesr   )r   dfrS   rR   s       r   test_groupby_aggrL    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   )rN   sumr   )r?   s    r   DecimalArray__my_sumz8test_groupby_agg_ea_method.<locals>.DecimalArray__my_sum  s    vbhtnn%%%r   my_sumFraisingr}   r7  )idr:  r   r   r   r  r  rT  r:  c                4    | j                                         S r   valuesrQ  r?  s    r   r.   z,test_groupby_agg_ea_method.<locals>.<lambda>  s    8I8I r   r@  r   c                4    | j                                         S r   rV  r?  s    r   r.   z,test_groupby_agg_ea_method.<locals>.<lambda>  s    ahoo.?.? r   )r  r   r   rh   r   ri   r	   rG  rH  rP   r   rN   r   r   )r  rP  r   rK  rS   rR   r%  groupers           r   test_groupby_agg_ea_methodrZ    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__FrR  )r4   r3   rg   r   )r   r4   r   )	r  r   r   rh   ri   r   r   ru   at)r  r^  r   r%  rK  s        r   test_indexing_no_materializera     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   )r:  )	r   r   rN   r   rh   to_numpyrP   r  ri   )rW  rS   r4   rR   s       r   test_to_numpy_keywordrd  5  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 )Nr4   r   r  r  r   r   rC  )
rh   r   r   r   r   r   r>  rP   assert_equalrW  )r   rK  df2rS   s       r   test_array_copy_on_writerh  C  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   )7
__future__r   r   r  numpyrN   r\   pandas.compat.numpyr   pandasrh   pandas._testing_testingrP   pandas.tests.extensionr   $pandas.tests.extension.decimal.arrayr   r   r   r	   fixturer   r   r   r!   r&   r(   r/   r7   ExtensionTestsr9   r   r   r   r   r]   r   r   r   r  _add_arithmetic_opsr  r  r   r&  r+  r.  r0  r5  rL  rZ  ra  rd  rh  r   r   r   <module>rt     s   " " " " " "        . . . . . .           ' ' ' ' ' '               % % % B B B F F F       2 2 2 4 4 4pC pC pC pC pCt* pC pC pCf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   