
    MhQ                    ,   S r SSKJr  SSKJr  SSKrSSKrSSKrSSKJr  SSKrSSK	r	SSK
r
SSKJr  SSKrSSKrSSKrSSKJr  SSKrSSKrSSKrSSKrSSKJrJr  SS	KJr  SS
KJr  SSKJs  J r!  SSK"r#SSK"J$r$J%r%J&r&J'r'  SSK(J)r*  SSK+J,r,  SSK-J	s  J.r/  SSK0J1r1J2r2  S r3\Rh                  Rk                  SSS\6" S5      \7" S5      \Rp                  " S5      \" S/ SQ5      \7" S5      Rs                  SS5      \7" S5      Rs                  SS5      SSS2   \Rt                  " S5      Rw                  SSS9\Rt                  " S5      Rw                  SSS9\Rt                  " S5      Rw                  SSS9SS2SSS24   /5      S 5       r<S r=S r>S r?SUS  jr@\Rh                  Rk                  S!\R                  " \>S"S#9\R                  " \#R                  S$S#9\R                  " \R                  " \#R                  \R                  S%9S&S#9\R                  " \R                  " \#R                  S'S%9S(S#9\R                  " \R                  " \#R                  S)S%9S*S#9/5      \Rh                  Rk                  S+\#R                  \>/5      \Rh                  Rk                  S,\@" \," 5       5      5      S- 5       5       5       rDS. rES/ rF\R                  S0 5       rH " S1 S25      rI " S3 S45      rJ\Rh                  Rk                  S5S6/S7\%" / S8Q5      4S9\#R                  R                  / S8Q/ S:Q/5      4/5      S; 5       rMS< rN\Rh                  Rk                  S=/ S>Q5      S? 5       rOS@ rP " SA SB\R                  5      rRSC rSSD rTSE rUSF rV\Rh                  Rk                  SGSHSISG\R
                  " SJSKSK5      SL/5      SM 5       rWSN rXSO rY\!R                  SP 5       r[\Rh                  Rk                  SQ\R                  \R                  /5      SR 5       r]SS r^ST r_g)Va<  
manage legacy pickle tests

How to add pickle tests:

1. Install pandas version intended to output the pickle.

2. Execute "generate_legacy_storage_files.py" to create the pickle.
$ python generate_legacy_storage_files.py <output_dir> pickle

3. Move the created pickle to "data/legacy_pickle/<version>" directory.
    )annotations)arrayN)partial)Path)Any)get_lzma_fileis_platform_little_endian)import_optional_dependency)flatten_buffer)	DataFrameIndexSeriesperiod_range)create_pickle_data)DayMonthEndc                z   [        U[        5      (       a  [        R                  " X5        g UR	                  S5      (       a  [        R
                  " X5        g US:X  a1  U[        R                  L a  U [        R                  L d   eg X:X  d   eg [        [        SU S3[        R                  5      nU" X5        g )Nsp_	timestampassert__equal)

isinstancer   tmassert_index_equal
startswithassert_equalpdNaTgetattrassert_almost_equal)resultexpectedtyp
comparators       M/var/www/html/env/lib/python3.13/site-packages/pandas/tests/io/test_pickle.pycompare_elementr&   >   s    (E""
h/
~~e
)		rvvRVV###%%%R73%v!68N8NO
6$    datas   123s   123456I         B)r-   r,   r,      )r-      C)orderFc                t   [        U 5      n[        U 5      R                  S5      nX:X  d   e[        U [        [
        45      (       a  XL d   eg [        U[        5      (       aU  UR                  S:X  d   eUR                  S:X  d   eUR                  (       d   eUR                  UR                  4:X  d   eg g )NAr+   r.   )r   
memoryviewtobytesr   bytes	bytearrayndimformat
contiguousshapenbytes)r(   r!   r"   s      r%   test_flatten_bufferr?   T   s    " D!F$'',H$	*++~~	FJ	'	'{{a}}###    ||////	 
(r'   c           	     H   [        5       (       d  [        R                  " S5        [        [        5      R
                  R                  S5       GH  nU " U5      n[        R                  " U5      nUR                  5        GH  u  p4UR                  5        GH~  u  pVX#   U   nUS:X  Gam  US:X  Gaf  [        R                  " Xg5        UR                  R                  UR                  R                  :X  d   eUR                  R                  R                  (       a   e[        R                  " US:  US:  5        UR                  R                  nU[        S5      -   [        S5      :X  d   eU[        R                   " SS9-   n	[#        U	[        R                   5      (       d   eU	[        R                   " SSS	9:X  d   eU[        R                   " SS
9-   n	[#        U	[        R                   5      (       d   eU	[        R                   " SSS9:X  d   eGM  US:X  a  US:X  a  [        R$                  " Xg5        [#        UR                  [&        5      (       d   eUR                  ['        5       :X  d   eUR(                  S:X  d   e[        R$                  " UR+                  S5      UR+                  S5      5        GM(  US:X  a  US;   a  [        R                  " Xg5        GMM  US:X  a  US;   a  [        R,                  " Xg5        GMr  [/        XgU5        GM     GM     GM     g )Nz"known failure on non-little endianzdata/legacy_pickle/*/*.p*kl*seriestsr   r+   r,   )hours)daysrC   )nanoseconds)rD   rE   indexperiodM)dt_tzcatframe)dt_mixed_tzs
cat_onecolcat_and_float)r	   pytestskipr   __file__parentglobr   read_pickleitemsr   assert_series_equalrF   freq	normalizer   	Timedeltar   r   r   freqstrshiftassert_frame_equalr&   )
datapathlegacy_pickler(   r#   dvdtr!   r"   rW   ress
             r%   test_picklesrb   q   se   $&&89 h..334RS /~~m,zz|GC hhj
9R=(?rTz**6<!<<,,0C0CCCC%||00::::**6A:x!|D "<<,,D#a&=CF222A!66C%c2<<8888",,AQ"????!!<<C%c2<<8888",,A1"EEEEG^h))&;%fkk8<<<<!;;(*444!>>S000))&,,q/8>>!;LMH_/?)?**6<G^ / )
 ))&;#Fc:I ) $ Tr'   c                z    [        US5       n[        R                  " XSS9  S S S 5        g ! , (       d  f       g = fNwbprotocolopenpickledumpobjpathfhs      r%   python_picklerrq      s(    	dD	RCb) 
		   ,
:c                    [        U S5       nUR                  S5        [        R                  " U5      sS S S 5        $ ! , (       d  f       g = f)Nrbr   )rj   seekrk   load)ro   rp   s     r%   python_unpicklerrw      s0    	dD	R

{{2 
		s	   '>
Ac                    U R                  5        VVVs/ s H   u  pUR                  5         H  nX4PM     M"     snnn$ s  snnnf )zFlatten create_pickle_data)rU   values)r(   r#   examplesexamples       r%   flattenr|      sG     "ZZ\)MC(G 
( 	)  s   'Apickle_writerpython)idpandas_proto_defaultrg   pandas_proto_highestr0   pandas_proto_4   pandas_proto_5writerztyp, expectedc                   [         R                  " 5        nU" X5        [        R                  " U5      n[	        XQU 5        [        U5      n[	        XQU 5        [        USS9 nU" X5        UR                  S5        S S S 5        [        USS9 n[        R                  " U5      nUR                  S5        S S S 5        [	        XQU 5        S S S 5        g ! , (       d  f       N]= f! , (       d  f       N4= f! , (       d  f       g = f)Nre   moder   rt   )r   ensure_cleanr   rT   r&   rw   rj   ru   )r#   r"   r}   r   ro   r!   handles          r%   test_round_trip_currentr      s    & 
	dh% %#.!$'#. $T"f8"KKN # $T"f^^F+FKKN # 	#.% 
	 #" #" 
	s<   AC5"C<C5(C$6C5
C!	C5$
C2	.C55
Dc                 v   [        S[        R                  " S5      R                  S5      -  [	        [        S5      [        S9[	        [        S5       V s/ s H  n SU  3PM
     sn [        S9S9n[        R                  " UR                  [        R                  5      n[        R                  " X5        g s  sn f 	N皙?x      r0   ABCDdtyper   i-columnsrF   )r   nparangereshaper   listobjectranger   round_trip_pathlib	to_pickler   rT   r\   idfr!   s      r%   test_pickle_path_pathlibr      s    	biin$$W--d6l&1uRy1y!r!Xy1@
B
 ""2<<@F"% 2   B6c                 v   [        S[        R                  " S5      R                  S5      -  [	        [        S5      [        S9[	        [        S5       V s/ s H  n SU  3PM
     sn [        S9S9n[        R                  " UR                  [        R                  5      n[        R                  " X5        g s  sn f r   )r   r   r   r   r   r   r   r   r   round_trip_localpathr   r   rT   r\   r   s      r%   test_pickle_path_localpathr      s    	biin$$W--d6l&1uRy1y!r!Xy1@
B
 $$R\\2>>BF"% 2r   c                 4    S[         R                  " 5        S3$ )N__z	__.pickle)uuiduuid4 r'   r%   get_random_pathr      s    

~Y''r'   c                      \ rS rSr\R
                  rS rS r\	R                  R                  S/ SQ5      S 5       rS rS rS	 rS
rg)TestCompression   c                8   Uc  [         R                  " X5        g US:X  a  [        R                  " US5      nGOFUS:X  a  [        R
                  " US5      nGO'US:X  a]  [        R                  " US[        R                  S9 nUR                  U[        R                  R                  U5      5        S S S 5        OUS:X  at  [        US5       n[        R                  " USS9 nUR                  U[        R                  R                  U5      5      nUR                  Xu5        S S S 5        S S S 5        OJUS	:X  a  [!        5       " US5      nO2US
:X  a  [#        S5      R                  US5      nOSU 3n[%        U5      eUS;  a@  [        US5       nW   UR                  UR'                  5       5        S S S 5        S S S 5        g g ! , (       d  f       NU= f! , (       d  f       N= f! , (       d  f       Nw= f! , (       d  f       NK= f! , (       d  f       g = f)Ngzipwbz2zipcompressiontarrt   r   xzzstd	zstandardre   zUnrecognized compression type: )r   r   )shutilcopyfiler   rj   r   BZ2FilezipfileZipFileZIP_DEFLATEDwriteosro   basenametarfile
gettarinfoaddfiler   r
   
ValueErrorread)	selfsrc_path	dest_pathr   frp   r   tarinfomsgs	            r%   compress_fileTestCompression.compress_file   s   OOH0& 		)S)AE!Is+AE!CW=Q=QRVW"''"2"28"<= SRE!h%\\)#6#!nnXrww7G7G7QRGKK, 7 &% D 	3/AF"*;7<<YMA3K=ACS/!n,h%GGBGGI&  &% - SR 76 &% Q &%sU   0GG)$AG%G)H G:5H
G
G&	"G))
G7:
H	H
Hc                   UnUS-   nUS-   n[         R                  " U5       n[         R                  " U5       n[        S[        R                  " S5      R                  S5      -  [        [        S5      [        S9[        [        S5       Vs/ s H  nS	U 3PM
     sn[        S9S
9n	U	R                  XaS9  [         R                  " XaS9 n
[        US5       nUR                  U
R                  5       5        S S S 5        S S S 5        [        R                   " US S9n[         R"                  " X5        S S S 5        S S S 5        g s  snf ! , (       d  f       NW= f! , (       d  f       N`= f! , (       d  f       N>= f! , (       d  f       g = f)N.compressed.rawr   r   r   r   r   r   r   r   r   re   )r   r   r   r   r   r   r   r   r   r   r   decompress_filerj   r   r   r   rT   r\   )r   r   r   basepath1path2p1p2r   r   r   rp   df2s                r%   test_write_explicit#TestCompression.test_write_explicit  s)   }$v__U#r2??5+ARbiin,,W55d6l&9uRy9y!r!Xy9HB LLL5 ##B@A"d^rHHQVVX& $ A
 ..6C!!"*% ,B## : $^ A@ ,B+A##se   E>AE-E/E-E E	:E3E-5E>E-
EE
E*&E--
E;	7E>>
Fr   ) Nonebad7zc                   [         R                  " [        SS9   [        R                  " U5       n[        S[        R                  " S5      R                  S5      -  [        [        S5      [        S9[        [        S5       Vs/ s H  nS	U 3PM
     sn[        S9S
9nUR                  X1S9  S S S 5        S S S 5        g s  snf ! , (       d  f       N= f! , (       d  f       g = f)NzUnrecognized compression typematchr   r   r   r   r   r   r   r   r   )rO   raisesr   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   ro   r   r   s         r%   test_write_explicit_bad'TestCompression.test_write_explicit_bad7  s    ]]:-LM1T"))C.0099!$v,f=59 =9a2aS9 =VL
 T; 2 NM
 !>	 21 NMs5   CACCC0CC
C	C
C%c                r   UnX1-   nUS-   nU R                   R                  UR                  5       5      n[        R                  " U5       n[        R                  " U5       n[        S[        R                  " S5      R                  S5      -  [        [        S5      [        S9[        [        S5       V	s/ s H  n	SU	 3PM
     sn	[        S9S	9n
U
R                  U5        [        R                  " XvS
9 n[        US5       nUR!                  UR#                  5       5        S S S 5        S S S 5        [$        R&                  " US S
9n[        R(                  " X5        S S S 5        S S S 5        g s  sn	f ! , (       d  f       NW= f! , (       d  f       N`= f! , (       d  f       N>= f! , (       d  f       g = f)Nr   r   r   r   r   r   r   r   r   r   re   )_extension_to_compressiongetlowerr   r   r   r   r   r   r   r   r   r   r   r   rj   r   r   r   rT   r\   )r   compression_extr   r   r   r   r   r   r   r   r   r   rp   r   s                 r%   test_write_infer TestCompression.test_write_inferB  sD   &v44889N9N9PQ__U#r2??5+ARbiin,,W55d6l&9uRy9y!r!Xy9HB LL ##B@A"d^rHHQVVX& $ A
 ..6C!!"*% ,B## : $^ A@ ,B+A##sg   F("AF7E01F7F E5	$F,3FF(0F5
F?F
FF
F%	!F((
F6c                X   UnUS-   nUS-   n[         R                  " U5       n[         R                  " U5       n[        S[        R                  " S5      R                  S5      -  [        [        S5      [        S9[        [        S5       Vs/ s H  nS	U 3PM
     sn[        S9S
9n	U	R                  US S9  U R                  XgUS9  [        R                  " XqS9n
[         R                  " X5        S S S 5        S S S 5        g s  snf ! , (       d  f       N= f! , (       d  f       g = f)Nr   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   rT   r\   )r   r   r   r   r   r   r   r   r   r   r   s              r%   test_read_explicit"TestCompression.test_read_explicit\  s    v}$__U#r2??5+ARbiin,,W55d6l&9uRy9y!r!Xy9HB LLL. r;? ..=C!!"* ,B## :	 ,B+A##s6   DAD
DAD
4DD


D	D
D)c                   UnUS-   nX1-   nU R                   R                  UR                  5       5      n[        R                  " U5       n[        R                  " U5       n[        S[        R                  " S5      R                  S5      -  [        [        S5      [        S9[        [        S5       V	s/ s H  n	SU	 3PM
     sn	[        S9S	9n
U
R                  US S
9  U R                  XxUS
9  [        R                   " U5      n[        R"                  " X5        S S S 5        S S S 5        g s  sn	f ! , (       d  f       N= f! , (       d  f       g = f)Nr   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   rT   r\   )r   r   r   r   r   r   r   r   r   r   r   r   s               r%   test_read_inferTestCompression.test_read_inferr  s   v&44889N9N9PQ__U#r2??5+ARbiin,,W55d6l&9uRy9y!r!Xy9HB LLL. r;? ..$C!!"* ,B## :	 ,B+A##s8   E"AD47D/AD4E/D44
E	>E
Er   N)__name__
__module____qualname____firstlineno__icomextension_to_compressionr   r   r   rO   markparametrizer   r   r   r   __static_attributes__r   r'   r%   r   r      sN     $ = ='<+2 [[],EF< G<+4+,+r'   r   c                  \    \ rS rSr\R
                  R                  S/ SQ5      S 5       rSrg)TestProtocoli  rh   )rf   r   r+   r,   c                   [         R                  " U5       n[        S[        R                  " S5      R                  S5      -  [        [        S5      [        S9[        [        S5       Vs/ s H  nSU 3PM
     sn[        S9S9nUR                  X1S	9  [        R                  " U5      n[         R                  " XV5        S S S 5        g s  snf ! , (       d  f       g = f)
Nr   r   r   r   r   r   r   r   rg   )r   r   r   r   r   r   r   r   r   r   r   r   rT   r\   )r   rh   r   ro   r   r   r   s          r%   	test_readTestProtocol.test_read  s    ___-biin,,W55d6l&9uRy9y!r!Xy9HB
 LLL1..&C!!"* .- :	 .-s   AC,C;ACC
Cr   N)	r   r   r   r   rO   r   r   r  r   r   r'   r%   r   r     s%    [[Z7	+ 8	+r'   r   pickle_fileexcolsztest_py27.pkl)abcztest_mi_py27.pkl)r5   r.   r1   c                    U " SSSU5      n[         R                  " U5      n[        R                  " UR                  U5        g )Nior(   rk   )r   rT   r   r   r   )r]   r  r  ro   r   s        r%   test_unicode_decode_errorr
    s8     D&(K8D		B "**f-r'   c                 ^   [         R                  " 5        n [        S[        R                  " S5      R                  S5      -  [        [        S5      [        S9[        [        S5       Vs/ s H  nSU 3PM
     sn[        S9S9n[        U S	5       nUR                  U5        S S S 5        [        U S
5       n[        R                  " U5      nS S S 5        [         R                  " UW5        S S S 5        g s  snf ! , (       d  f       N^= f! , (       d  f       ND= f! , (       d  f       g = f)Nr   r   r   r   r   r   r   r   re   rt   )r   r   r   r   r   r   r   r   r   r   rj   r   r   rT   r\   )ro   r   r   rp   r!   s        r%   test_pickle_buffer_roundtripr    s    		d"))C.((11$v,f55959a2aS95VD

 $LL $^^B'F 
b&) 
	 6 
	sN   AD+C7:DC<$D8DD7D<
D
	D
D	D
D,mockurl)zhttp://url.comzftp://test.comzhttp://gzip.comc                  ^^ S n " S S5      m[         R                  " 5        mUU4S jn[        S[        R                  " S5      R                  S5      -  [        [        S5      [        S	9[        [        S
5       Vs/ s H  nSU 3PM
     sn[        S	9S9nU" UT5        U R                  SU5        [        R                  " U5      n[         R                  " XV5        S S S 5        g s  snf ! , (       d  f       g = f)Nc                z    [        US5       n[        R                  " XSS9  S S S 5        g ! , (       d  f       g = frd   ri   rm   s      r%   rq   3test_pickle_generalurl_read.<locals>.python_pickler  s(    $KK"- rr   c                  6    \ rS rSrS	S jrS rS rS rS rSr	g)
5test_pickle_generalurl_read.<locals>.MockReadResponsei  c                X    [        US5      U l        SU;   a
  SS0U l        g SS0U l        g )Nrt   r   zContent-Encodingr   )rj   fileheaders)r   ro   s     r%   __init__>test_pickle_generalurl_read.<locals>.MockReadResponse.__init__  s/    T4(DI~ 2F; 2B7r'   c                    U $ Nr   r   s    r%   	__enter__?test_pickle_generalurl_read.<locals>.MockReadResponse.__enter__  s    Kr'   c                $    U R                  5         g r  )close)r   argss     r%   __exit__>test_pickle_generalurl_read.<locals>.MockReadResponse.__exit__  s    JJLr'   c                6    U R                   R                  5       $ r  )r  r   r  s    r%   r   :test_pickle_generalurl_read.<locals>.MockReadResponse.read  s    99>>##r'   c                6    U R                   R                  5       $ r  )r  r  r  s    r%   r  ;test_pickle_generalurl_read.<locals>.MockReadResponse.close  s    99??$$r'   )r  r  Nreturnr   )
r   r   r   r   r  r  r   r   r  r   r   r'   r%   MockReadResponser    s    	8			$	%r'   r(  c                    > T" T5      $ r  r   )r  kwargsr(  ro   s     r%   mock_urlopen_read6test_pickle_generalurl_read.<locals>.mock_urlopen_read  s    #D))r'   r   r   r   r   r   r   r   r   zurllib.request.urlopen)r   r   r   r   r   r   r   r   r   r   setattrr   rT   r\   )	monkeypatchr  rq   r+  r   r   r!   r(  ro   s	          @@r%   test_pickle_generalurl_readr/    s    .% %( 
	d	* "))C.((11$v,f55959a2aS95VD

 	r4 46GH(
b) 
	 6 
	s   AC1C,AC1,C11
C?c                    [         R                  " S5        [        R                  " 5          Sn [	        S[
        R                  " S5      R                  S5      -  [        [        S5      [        S9[        [        S5       Vs/ s H  nS	U 3PM
     sn[        S9S
9nUR                  U 5        [        R                  " U 5      n[        R                  " X#5        S S S 5        g s  snf ! , (       d  f       g = f)Nfsspeczmemory://mockfiler   r   r   r   r   r   r   r   )rO   importorskipr   r   r   r   r   r   r   r   r   r   r   r   rT   r\   )r  r   r   r!   s       r%   test_pickle_fsspec_roundtripr3    s    
!		%"))C.((11$v,f55959a2aS95VD

 	W(
b) 
	
 6 
	s   AC)C$A	C)$C))
C7c                      \ rS rSrSS jrSrg)MyTzi  c                    g r  r   r  s    r%   r  MyTz.__init__  s    r'   r   Nr&  )r   r   r   r   r  r   r   r'   r%   r5  r5    s    r'   r5  c                     [        [        S9[        5       4n [        R                  " U 5      n[        R
                  " US   U S   5        [        US   [        5      (       d   eg )Nr   r   r+   )r   r   r5  r   round_trip_picklerV   r   )r"   r!   s     r%   test_read_pickle_with_subclassr:    sR    F#TV+H!!(+F6!9hqk2fQi&&&&r'   c                   [        S[        R                  " S5      R                  S5      -  [	        [        S5      [        S9[	        [        S5       Vs/ s H  nSU 3PM
     sn[        S9S9n[        R                  " 5        nUR                  X0S	9  [        U5      R                  5       nS
S
S
5        [        R                  " 5       nUR                  XPS	9  UR                  S5        UR!                  5       W:X  d  U S;   d   e["        R$                  " XPS	9nUR                  S5        [        R&                  " X&5        g
s  snf ! , (       d  f       N= f)zY
Read/write from binary file-objects w/wo compression.

GH 26237, GH 29054, and GH 29570
r   r   r   r   r   r   r   r   r   Nr   )r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   
read_bytesr	  BytesIOru   getvaluer   rT   r\   )r   r   r   ro   	referencebufferread_dfs          r%   %test_pickle_binary_object_compressionrB    s	    
biin$$W--d6l&1uRy1y!r!Xy1@
B 
	d
T3J))+	 

 ZZ\FLLL1
KKN ??	)[<R-RRR nnV=G
KKN"&' 2 
	s   E)E
Ec                z    U nUnS nU" U5        U" UR                   5        U" U5        U" UR                   5        g )Nc                \    [         R                  " U 5      n[         R                  " X5        g r  )r   r9  r\   )rK   	unpickleds     r%   _test_roundtripDtest_pickle_dataframe_with_multilevel_index.<locals>._test_roundtrip7  s     ((/	
e/r'   )T)/multiindex_year_month_day_dataframe_random_data multiindex_dataframe_random_dataymdrK   rF  s        r%   +test_pickle_dataframe_with_multilevel_indexrL  0  s=     :C,E0 EEGGCCEEr'   c                     [        SSSS9n [        [        R                  R	                  S5      R                  [        U 5      5      U 5      n[        R                  " U5      nUR                  R                  S:X  d   eg )Nz1/1/2011z1/1/2012rH   )rW   r,   )r   r   r   randomdefault_rngstandard_normallenr   r9  rF   rZ   )prngrB   new_tss      r%   "test_pickle_timeseries_periodindexrT  A  sb    
JS9D			%%a(88TCT	JB!!"%F<<3&&&r'   namei	  g     H@i     )r+   r,   c           	         [         R                  " [        [        R                  " S[        R
                  S9U S95      nUR                  U :X  d   eg )N
   r   )rU  )r   r9  r   r   r   float64rU  )rU  rE  s     r%   test_pickle_preserve_namerZ  I  s=     $$VBIIb

,KRV%WXI>>T!!!r'   c                \    [         R                  " U 5      n[         R                  " X5        g r  r   r9  rV   )datetime_seriesunp_tss     r%   test_pickle_datetimesr_  Q  s     !!/2F63r'   c                \    [         R                  " U 5      n[         R                  " X5        g r  r\  )string_series
unp_seriess     r%   test_pickle_stringsrc  V  s     %%m4J:5r'   c                 l   [        [        S5      5      R                  S5      R                  S/   n [        R
                  " U 5      nUR                  R                  S   R                  S:X  d   eUR                  R                  S   R                  S:X  d   e[        R                  " US/   U 5        g )Nabccategoryr   r+   )r+   T)r   r   astypeilocr   r9  _mgrblocksr:   r=   rV   )serra   s     r%    test_pickle_preserves_block_ndimrl  [  s     e

$
$Z
0
5
5qc
:C


s
#C88??1""a'''88??1##t+++ 3v;,r'   rh   c                    [        [        S5      5      n[        R                  " [	        UR
                  XS9[	        [        R                  US95      n[        R                  " X#5        g )Ni )rh   r   r   )	r   r   r   r   r   r   r   rT   r\   )rh   r   r   r!   s       r%   %test_pickle_big_dataframe_compressionrn  h  sN     
5=	!B""xIK8F "%r'   c                   U " [        [        5      R                  SSSS5      n[        US5       n[        R
                  " U5      nS S S 5        [        / / S9n[        R                  " WU5        g ! , (       d  f       N0= f)Nr(   r^   z1.2.4zempty_frame_v1_2_4-GH#42345.pklrt   )rF   r   )	r   rQ   rR   rj   rk   rv   r   r   r\   )r]   ro   fdr   r"   s        r%   #test_pickle_frame_v124_unpickle_130rq  s  sl    X)D 
dD	R[[_ 
 r2.H"h'	 
	s   A11
A?c                     [        S/ SQ05      n Sn[        R                  " [        US9   [        R
                  " 5       nU R                  US5        S S S 5        g ! , (       d  f       g = f)Nr  r*   zpStarting with pandas version 3.0 all arguments of to_pickle except for the argument 'path' will be keyword-only.r   infer)r   r   assert_produces_warningFutureWarningr	  r=  r   )r   r   r@  s      r%    test_pickle_pos_args_deprecationrv    sR    	C#	$B	1  
	#	#M	=
VW% 
>	=	=s   (A
A*)r(   dictr'  zlist[tuple[str, Any]])`__doc__
__future__r   r   r   datetime	functoolsr   r   r	  r   pathlibr   rk   r   r   typingr   r   r   numpyr   rO   pandas.compatr   r	   pandas.compat._optionalr
   pandas.compat.compressorsr   pandas.util._test_decoratorsutil_test_decoratorstdpandasr   r   r   r   r   pandas._testing_testingr   -pandas.tests.io.generate_legacy_storage_filesr   pandas.io.commoncommonr   pandas.tseries.offsetsr   r   r&   r   r   r9   r6   PickleBuffercastr   r   r?   rb   rq   rw   r|   paramr   HIGHEST_PROTOCOLr   r   r   fixturer   r   r   
MultiIndexfrom_arraysr
  r  r/  r3  tzinfor5  r:  rB  rL  rT  rZ  r_  rc  skip_array_manager_invalid_testrl  DEFAULT_PROTOCOLrn  rq  rv  r   r'   r%   <module>r     s   #  
     	 	          ? 4 ) )    L  %, 
&6F#c99""3/9""3/!4
		"fC0
		"fC0
		"fC0CaC8 
0! 
0/;d*
 ^1R\\&<=bllV5L5LM%	
 	Y&&r||a@EUVbllQ7	
  BLL.#AB'2D2F*GH/ I C!$/,&& ( (J+ J+d+ + H	%01MM%%&HI	
	.	.*& F&*&*R*8?? 
''>"' 
S%!2!24R!@&I""
4
6
 ##	- $	- f&=&=v?V?V%WX& Y&( 	&r'   