
    MhS*                     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     ^/var/www/html/env/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                 R   / 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#5       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   s+     O8Nd1ga +QV+8Ns   13)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OC8NO{{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_dtypeS   s1    ]]:-=>Arvve4 ?>>s	   ?
Ac                    [         R                  " SSSS9n[        [        R                  " USS95      n[
        R                  " [        5         [        U5      nS S S 5        [
        R                  " WU5        [
        R                  " [        5         [        [         R                  " U5      5      nS S S 5        [
        R                  " X25        g ! , (       d  f       N~= f! , (       d  f       N6= f)Nz
2016-01-01r"   z
US/Pacific)periodstzzdatetime64[ns]r   )
pd
date_ranger   r   asarrayr$   assert_produces_warningUserWarningr%   Series)r   dtir(   r'   s       r   +test_constructor_warns_when_losing_timezone<TestConstructors.test_constructor_warns_when_losing_timezoneX   s    mmL!Erzz#5EFG''4 %F 5 	  2''4 30F 5 	  2 54
 54s   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   )rJ   sparse_indexr   r   r   r   integer)kindr   r!   )rJ   rd   r   r   )r   r   r   r"   r8   rJ   rd   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_dtypeh   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   rd   Nr   c                    Sn[         R                  " [        US9   [        SUS S9nS S S 5        [        S/S S9n[         R                  " WU5        UR
                  [        [        R                  5      :X  d   eUR                  S:X  d   e[         R                  " [        US9   [        S[        SS/5      S S9nS S S 5        [        S/S S9n[         R                  " X45        UR
                  [        [        R                  5      :X  d   eUR                  S:X  d   eg ! , (       d  f       GN= f! , (       d  f       N}= f)Nz7Constructing SparseArray with scalar data is deprecatedrP   r   )rJ   rd   r   r   r   )r$   r]   FutureWarningr   r%   r   r   r   r   r   r   )r   rd   msgr   rj   s        r   %test_constructor_spindex_dtype_scalar6TestConstructors.test_constructor_spindex_dtype_scalar   s    H''SA1<tLC B1#T*
  c*yyK1111~~"""''SA18As3C4PC B1#T*
  *yyK1111~~""" BA BAs   D"&D4"
D14
E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   rh   re   r   ri   )r   r   rj   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   rJ   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         ?densityry   )rR   importorskiprandomr   from_spmatrixr   r\   toarrayravelr$   assert_numpy_array_equal)r   r}   ry   	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   )rR   r   r   rJ   r   r   r   r\   r   r   r$   r   )r   ry   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{   )ry   znot '4'rP   )rR   r   eyerS   rT   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 datarP   r~   )r   r   )rR   rS   	TypeErrorr   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   rE   r   r   r.   anyrI   )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   rE   r   boolr   r   r$   r   r.   sp_indexindicesr2   to_denser   rJ   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   rH   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 )Nru   r"   r   r   r   r   )r   rE   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:   rM   rR   markparametrizer   r#   rU   ra   rk   r   rp   rs   r   rE   r   rZ   	TimestampNaTrw   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# G#"# [[XXq!fq!XXsCj!266*E]E"ll<()2662		
(( [[X'<=[[VaW-6 . >6 [[X'<=	6 >	6+7>
.11r   r   )numpyr   rR   pandas._libs.sparser   pandasrZ   r   r   pandas._testing_testingr$   pandas.core.arrays.sparser   r   r   r   r   <module>r      s*      (   1N1 N1r   