
    I jM)                     d    S SK rS SKrS SKJr  S SKrS SKJrJr  S SK	J
r  S SKJr   " S S5      rg)    N)IntIndex)SparseDtypeisna)SparseArrayc            	          \ rS rSrS rS rS rS rS rS r	\
R                  R                  S\" \S	5      \/5      S
 5       rS rS r\
R                  R                  SS\" SS	/5      /5      S 5       rS r\
R                  R                  S\R,                  " SS/5      S	4\R,                  " SS/5      \R.                  4SS/S4\R2                  " S5      /\R4                  4/5      S 5       r\
R                  R                  S/ SQ5      \
R                  R                  SS	S/5      S 5       5       r\
R                  R                  S/ SQ5      S 5       rS  rS! rS" r S# r!S$ r"S% r#S& r$S'r%g)(TestConstructors   c                    [        [        R                  SS[        R                  /5      nUR                  [	        [        R
                  [        R                  5      :X  d   eUR                  R                  [        R
                  :X  d   e[        R                  " UR                  5      (       d   e[        [        R                  SS[        R                  /SS9nUR                  [	        [        R
                  S5      :X  d   eUR                  S:X  d   e[        / SQ[        R
                  S9nUR                  [	        [        R
                  [        R                  5      :X  d   e[        R                  " UR                  5      (       d   e[        / SQ[        R                  S9nUR                  [	        [        R                  S5      :X  d   eUR                  S:X  d   e[        / SQS[        R                  S9nUR                  [	        [        R                  S5      :X  d   eUR                  S:X  d   e[        / SQS S9nUR                  [	        [        R                  S5      :X  d   eUR                  S:X  d   e[        / SQSS S9nUR                  [	        [        R                  S5      :X  d   eUR                  S:X  d   eg )N      r   
fill_value)r   r   r      dtyper   r   )
r   npnanr   r   float64subtypeisnanr   int64selfarrs     }/root/GenerationalWealth/GenerationalWealth/venv/lib/python3.13/site-packages/pandas/tests/arrays/sparse/test_constructors.pytest_constructor_dtype'TestConstructors.test_constructor_dtype   s   2661a01yyK

BFF;;;;yy  BJJ...xx''''2661a0Q?yyK

A6666~~""",bjj9yyK

BFF;;;;xx'''',bhh7yyK!4444~~""",1BHHEyyK!4444~~""",d3yyK!4444~~""",1DAyyK!4444~~"""    c                 h    [        / SQSS9n[        / SQ[        S9n[        R                  " X5        g )Nr   r      intr   )r   r#   tmassert_sp_array_equalr   resultexpecteds      r   test_constructor_dtype_str+TestConstructors.test_constructor_dtype_str.   s(    Ye4y4
  2r   c                     [        / SQ[        SS5      S9n[        / SQS[        R                  S9n[        R
                  " X5        UR                  R                  [        R                  " S5      :X  d   eg )Nr   r   r   r   r   r   r   )r   r   r   r   r$   r%   	sp_valuesr   r&   s      r   test_constructor_sparse_dtype.TestConstructors.test_constructor_sparse_dtype3   sX    \Wb1IJ|"((K
  2%%')::::r   c                     [        / SQSS9n[        / SQ[        R                  S9n[        R                  " X5        UR
                  R                  [        R                  " S5      :X  d   eg )Nr,   zSparse[int32]r   int32)r   r   r2   r$   r%   r.   r   r&   s      r   !test_constructor_sparse_dtype_str2TestConstructors.test_constructor_sparse_dtype_str9   sO    \A|288<
  2%%')::::r   c                 v   [        SS[        R                  S/[        S9nUR                  [        [        5      :X  d   e[        R                  " UR                  5      (       d   e[        SS[        R                  S/[        SS9nUR                  [        [        S5      :X  d   eUR                  S:X  d   eg )NABr   r   r   )r   r   r   objectr   r   r   r   r   s     r   test_constructor_object_dtype.TestConstructors.test_constructor_object_dtype?   s    3RVVS1@yyK////xx''''3RVVS1CPyyK4444~~$$$r   c                 P   / SQn[        U[        SS9nUR                  [        [        S5      :X  d   eUR                  SL d   e[
        R                  " U[        S9nS [        X#SS9 5       n[
        R                  " U[
        R                  S9R                  5       (       d   eg )N)Fr   g      Y@g        Fr8   r   c              3   j   #    U  H)  u  p[        U5      [        U5      :H  =(       a    X:H  v   M+     g 7fN)type).0xys      r   	<genexpr>KTestConstructors.test_constructor_object_dtype_bool_fill.<locals>.<genexpr>P   s0      
; GtAw)16);s   13T)strict)r   r9   r   r   r   r   arrayzipfromiterbool_all)r   datar   arr_expectedits        r   'test_constructor_object_dtype_bool_fill8TestConstructors.test_constructor_object_dtype_bool_fillI   s    %$f?yyK6666~~&&&xxF3
Cd;
 {{2RXX.224444r   r   r   c                     [         R                  " [        SS9   [        SS[        R
                  /US9  S S S 5        g ! , (       d  f       g = f)NzCannot convertmatchr   r   r   )pytestraises
ValueErrorr   r   r   )r   r   s     r   test_constructor_na_dtype*TestConstructors.test_constructor_na_dtypeV   s1    ]]:-=>Arvve4 ?>>s	   ?
Ac                    [         R                  " SSSS9n[        [        R                  " USS95      nSn[
        R                  " [        US9   [        U5      nS S S 5        [
        R                  " WU5        [
        R                  " [        US9   [        [         R                  " U5      5      nS S S 5        [
        R                  " XB5        g ! , (       d  f       N}= f! , (       d  f       N6= f)	Nz
2016-01-01r"   z
US/Pacific)periodstzzdatetime64[ns]r   zloses timezone informationrQ   )
pd
date_ranger   r   asarrayr$   assert_produces_warningUserWarningr%   Series)r   dtir(   msgr'   s        r   +test_constructor_warns_when_losing_timezone<TestConstructors.test_constructor_warns_when_losing_timezone[   s    mmL!Erzz#5EFG*''3? %F @ 	  2''3? 30F @ 	  2 @?
 @?s   C C$
C!$
C2c                 ,   [        SS/[        SSS/5      S9n[        / SQSS9n[        R                  " X5        UR                  [        [        R                  5      :X  d   eUR                  S:X  d   e[        / S	Q[        S/ S	Q5      [        R                  SS
9n[        / SQ[        R                  SS9n[        R                  " X5        UR                  [        [        R                  5      :X  d   eUR                  S:X  d   e[        SS/[        SSS/5      S[        R                  S9n[        / SQS[        R                  S9n[        R                  " X5        UR                  [        [        R                  5      :X  d   eUR                  S:X  d   e[        / S	Q[        S/ S	Q5      S SS
9n[        / SQS S9n[        R                  " X5        UR                  [        [        R                  5      :X  d   eUR                  S:X  d   eg )Nr   r   r   )rK   sparse_indexr   r   r   r   integer)kindr   r!   )rK   rf   r   r   )r   r   r   r"   r8   rK   rf   r   r   r   r   	r   r   r$   r%   r   r   r   r   r   )r   r   r(   exps       r   test_constructor_spindex_dtype/TestConstructors.test_constructor_spindex_dtypek   s   1vHQA4GH |)<
  /yyK1111~~"""!!Y/((	
 ,bhh1E
  *yyK1111~~"""Qhq1a&&9arxx
 ,1BHHE
  *yyK1111~~"""!!Y/	
 ,d3
  *yyK1111~~"""r   rf   Nr   c                    Sn[         R                  " [        US9   [        SUS S9  S S S 5        [         R                  " [        US9   [        S[	        SS/5      S S9  S S S 5        g ! , (       d  f       NG= f! , (       d  f       g = f)NzFCannot construct SparseArray from scalar data. Pass a sequence insteadrQ   r   )rK   rf   r   r   )rS   rT   	TypeErrorr   r   )r   rf   rb   s      r   %test_constructor_spindex_dtype_scalar6TestConstructors.test_constructor_spindex_dtype_scalar   sh     W]]9C0Q\F 1 ]]9C0QXa!-=TJ 10 10 10s   A)	A:)
A7:
Bc                     [        SS/[        SSS/5      SS S9n[        / SQSS S9n[        R                  " X5        UR                  [        [        R                  5      :X  d   eUR                  S:X  d   eg )Nr   r   r   r   rj   rg   r   rk   )r   r   rl   s      r   0test_constructor_spindex_dtype_scalar_broadcastsATestConstructors.test_constructor_spindex_dtype_scalar_broadcasts   so    Qhq1a&&9at
 ,1DA
  *yyK1111~~"""r   zdata, fill_valuer         ?g       @TFz
2017-01-01c                     [        U5      R                  n[        U5      (       a  [        U5      (       d   eg X2:X  d   eg r>   )r   r   r   )r   rK   r   r'   s       r   $test_constructor_inferred_fill_value5TestConstructors.test_constructor_inferred_fill_value   s9     T"--
<<<'''r   format)coocsccsrsize
   c                    [         R                  " S5      nUR                  USSUS9n[        R                  " U5      n[
        R                  " U5      nUR                  5       R                  5       n[        R                  " XV5        g )Nscipy.sparser         ?densityrz   )rS   importorskiprandomr   from_spmatrixr   r]   toarrayravelr$   assert_numpy_array_equal)r   r~   rz   	sp_sparsematr'   r(   s          r   test_from_spmatrix#TestConstructors.test_from_spmatrix   sm     ''7	tQFC**3/F#;;=&&(
##F5r   c                 2   [         R                  " S5      nUR                  SSSUS9nSUR                  S'   [        R
                  " U5      n[        R                  " U5      nUR                  5       R                  5       n[        R                  " XE5        g )Nr   r   r   r   r   r   )rS   r   r   rK   r   r   r   r]   r   r   r$   r   )r   rz   r   r   r'   r(   s         r   *test_from_spmatrix_including_explicit_zero;TestConstructors.test_from_spmatrix_including_explicit_zero   sx    ''7	r1c&A**3/F#;;=&&(
##F5r   c                     [         R                  " S5      nUR                  SSSS9n[         R                  " [        SS9   [
        R                  " U5        S S S 5        g ! , (       d  f       g = f)Nr      r   r|   )rz   znot '4'rQ   )rS   r   eyerT   rU   r   r   )r   r   r   s      r   test_from_spmatrix_raises*TestConstructors.test_from_spmatrix_raises   sN    ''7	mmAqm/]]:Y7%%c* 877s   A!!
A/c                     [         R                  " [        SS9   [        [        R
                  " S5      R                  S5      5        S S S 5        g ! , (       d  f       g = f)Nzexpected dimension <= 1 datarQ   r   )r   r   )rS   rT   rp   r   r   arangereshape)r   s    r   %test_constructor_from_too_large_array6TestConstructors.test_constructor_from_too_large_array   s9    ]]9,JK		"--f56 LKKs   /A
A c                     [        / SQSS9n[        U5      nUR                  S:X  d   e[        R                  " UR                  UR                  5        g )N)
r   r   r   r   r"   r   r   r   r      r   r   )r   r   r$   assert_almost_equalr.   )r   zarrress      r   test_constructor_from_sparse-TestConstructors.test_constructor_from_sparse   sC    9aH$~~"""
s}}dnn=r   c                    [         R                  " [         R                  [         R                  SSS[         R                  SS[         R                  S/
5      n[        U5      n[        USS9nS	UR                  S S& UR                  S S S	:H  R                  5       (       a   e[        U5      nS	UR                  S S& UR                  S S S	:H  R                  5       (       d   eg )
Nr   r   r"   r   r   r   T)copyr   )r   rF   r   r   r.   anyrJ   )r   arr_datar   cpnot_copys        r   test_constructor_copy&TestConstructors.test_constructor_copy   s    88RVVRVVQ1bffaBFFANO(#4(RaMM"1%*//1111s#!"2Abq!Q&++----r   c                    [         R                  " / SQ5      n[        US[        S9nUR                  [        [        5      :X  d   e[        R                  " UR                  [         R                  " SS/5      5        [        R                  " UR                  R                  [         R                  " SS/[         R                  5      5        UR                  5       nUR                  [        :X  d   e[        R                  " X15        g )N)FFTTFFFr   Tr   r"   )r   rF   r   boolr   r   r$   r   r.   sp_indexindicesr2   to_denser   rK   r   denses       r   test_constructor_bool&TestConstructors.test_constructor_bool   s    xx@A$5=yyK----
##CMM288T4L3IJ 	##CLL$8$8"((Aq6288:TU{{d"""
##E0r   c                    [        / SQS S9nUR                  [        [        R                  5      :X  d   eUR
                  (       a   e[        / SQ[        R                  S9nUR                  [        [        R                  5      :X  d   eUR
                  (       a   e[        / SQ[        R                  SS9nUR                  [        [        R                  S5      :X  d   eUR
                  (       d   eg )N)TFTr   Tr8   )r   r   r   r   rI   r   r   s     r    test_constructor_bool_fill_value1TestConstructors.test_constructor_bool_fill_value   s    -T:yyK1111>>!!-RXX>yyK1111>>!!-RXX$OyyK$7777~~~r   c                    [         R                  " S[         R                  S/[         R                  S9n[	        U[         R                  S9nUR
                  [        [         R                  5      :X  d   e[        R                  " UR                  [         R                  " SS/[         R                  S95        [        R                  " UR                  R                  [         R                  " SS/[         R                  S95        UR                  5       nUR
                  [         R                  :X  d   e[        R                  " X15        g )Nrv   r"   r   r   r   r   )r   rF   r   float32r   r   r   r$   r   r.   r   r   r2   r   r   s       r   test_constructor_float32)TestConstructors.test_constructor_float32	  s    xxbffa(

;$bjj1yyK

3333
##CMM288QF"**3UV 	##LL  "((Aq6"B	
 {{bjj(((
##E0r    )&__name__
__module____qualname____firstlineno__r   r)   r/   r3   r:   rN   rS   markparametrizer   r#   rV   rc   rm   r   rq   rt   r   rF   r   r[   	TimestampNaTrx   r   r   r   r   r   r   r   r   r   __static_attributes__r   r   r   r   r      s   #<3
;;%5 [[W{3':C&@A5 B53 &#P [[^dHQ4D-EFK GK# [[XXq!fq!XXsCj!266*E]E"ll<()2662		
(( [[X'<=[[VaW-6 . >6 [[X'<=	6 >	6+7>
.11r   r   )numpyr   rS   pandas._libs.sparser   pandasr[   r   r   pandas._testing_testingr$   pandas.core.arrays.sparser   r   r   r   r   <module>r      s*      (   1I1 I1r   