+
    xȇi                       ^ RI t ^ RIt^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RIt^ RIt^ RIHt ^ RIHu Ht ^ RIt^ RIHt ^ RIHt ^ RIHtHt ^ RIHt ^ RIH t H!t!H"t"H#t#H$t$H%t%H&t&H't'H(t( ]PR                  R 4       t*]PR                  R	 4       t+ ! R
 R4      t,]PZ                  P]                  R. R/O4      R 4       t/]PZ                  P]                  R^g^h.4      R 4       t0]PZ                  P]                  R^f.4      R 4       t1]PZ                  P]                  R. R0O4      R 4       t2]PZ                  P]                  R^g^h.4      R 4       t3R t4]PZ                  P]                  R. R1O4      ]PZ                  P]                  RRR.4      ]PZ                  P]                  RRR.4      R 4       4       4       t5]PZ                  P]                  RRR.4      ]PZ                  P]                  R. R2O4      R 4       4       t6]PZ                  P]                  R. R1O4      R 4       t7R t8]PZ                  P]                  RR34      R 4       t9R  t:R! t;R" t<]PZ                  P]                  R#RR.4      ]PZ                  P]                  R$RR.4      R% 4       4       t=R& t>R' t?R( t@]PZ                  P]                  R. R1O4      ]PZ                  P]                  R)]P                  ]P                  ]P                  ]P                  ]P                  ]P                  ]P                  ]P                  ]P                  .	4      R* 4       4       tJR+ tK]PZ                  P]                  R. R1O4      R, 4       tL]PZ                  P]                  R. R4O4      R- 4       tM]PZ                  P]                  R. R4O4      R. 4       tNR# )5    N)datetime)Pandas4Warning)CategoricalDtype)	DataFrameSeriesread_csv)	CategoricalConversionWarningInvalidColumnNamePossiblePrecisionLossStataMissingValueStataReaderStataWriterStataWriterUTF8ValueLabelTypeMismatch
read_statac            	      0    \        R . ROR. ROR. RO/4      # )abc            )      ?      @g      ;@g     @T@)Atlanta
Birmingham
CincinnatiDetroitr        j/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/tests/io/test_stata.pymixed_framer&   )   s%    'C	
 r$   c                 X    V ! R RRR4      p\        VRR7      pRVP                  n        V# )iodatastatazstata5_114.dtaTconvert_datesindex)r   r-   name)datapath	dta14_114
parsed_114s   &  r%   r1   r1   4   s3    vw0@AIIT:J#Jr$   c            
       V  a  ] tR t^<t o R tR t]P                  P                  R. RxO4      R 4       t	]P                  P                  R. RxO4      R 4       t
]P                  P                  R. RxO4      R 4       t]P                  P                  R. RyO4      R 4       tR	 t]P                  P                  R
. RzO4      R 4       t]P                  P                  R. R{O4      R 4       t]P                  P                  R. R|O4      R 4       t]P                  P                  R
. R}O4      R 4       t]P                  P                  R
. R~O4      R 4       tR tR t]P                  P                  R. RxO4      R 4       tR tR t]P                  P                  R. RxO4      R 4       tR t]P                  P                  R. RxO4      R 4       tR t]P                  P                  R. RxO4      ]P                  P                  R
. RO4      R 4       4       t]P                  P                  R
. RO4      R 4       t]P                  P                  R. RxO4      R 4       t]P                  P                  R. RxO4      R 4       tR t ]P                  P                  R. RxO4      R 4       t!R t"R  t#R! t$R" t%R# t&R$ t'R% t(R& t)]P                  P                  R. RxO4      ]P                  P                  R'R(R).4      R* 4       4       t*R+ t+R, t,R- t-R. t.]P                  P                  R. RO4      R/ 4       t/]P                  P                  R. RO4      R0 4       t0]P                  P                  R^f^g.4      R1 4       t1R2 t2R3 t3R4 t4]P                  P                  R. RxO4      ]P                  Pk                  R54      R6 4       4       t6R7 t7]P                  P                  R. RxO4      R8 4       t8]P                  P                  R
R9R:.4      R; 4       t9]P                  P                  R
R<R=.4      R> 4       t:]P                  P                  R
R9R:.4      R? 4       t;]P                  Pk                  R@4      ]P                  P                  R
. RO4      ]P                  P                  RA^^.4      ]P                  P                  RBRCRD.4      ]P                  P                  RERCRD.4      RF 4       4       4       4       4       t<]=V 3RG lRH l4       t>RI t?]P                  Pk                  R@4      ]P                  P                  R
. RO4      ]P                  P                  RA^^.4      ]P                  P                  RBRCRD.4      ]P                  P                  RERCRD.4      RJ 4       4       4       4       4       t@RK tA]P                  P                  R. RxO4      RL 4       tB]P                  P                  R. RxO4      RM 4       tC]P                  P                  R^r^u.4      RN 4       tDRO tERP tFRQ tGRR tHRS tIRT tJRU tKRV tL]P                  P                  RW]MP                  ]MP                  ) .4      RX 4       tORY tP]P                  P                  RZRDRC.4      R[ 4       tQR\ tR]P                  P                  R]. RO4      R^ 4       tS]P                  P                  R'R_R`.4      Ra 4       tTRb tURc tV]P                  P                  R. RxO4      Rd 4       tWRe tX]P                  P                  R
. RO4      Rf 4       tYRg tZ]P                  P                  R. RxO4      Rh 4       t[]P                  P                  R. RxO4      Ri 4       t\Rj t]Rk t^]P                  P                  Rl 4       t`]P                  P                  R. RO4      ]P                  P                  R'R_R`.4      Rm 4       4       taRn tb]P                  P                  RoRp]P                  ! Rq]dP                  ! Rq4      Rr7      .4      Rs 4       tf]P                  P                  R. RO4      Rt 4       tg]P                  P                  R. RO4      Ru 4       th]P                  P                  R^f^g.4      Rv 4       tiRwtjV tkR# )	TestStatac                    \        VR R7      # )Tr+   )r   selffiles   &&r%   read_dtaTestStata.read_dta=   s    $d33r$   c                    \        VR R7      # )T)parse_datesr   r5   s   &&r%   r	   TestStata.read_csvA   s    $//r$   versionNc                    \        R .R7      pTpVP                  VRVR7       \        V4      p\        P                  ! W54       R# )unitcolumnsFwrite_indexr=   Nr   to_statar   tmassert_frame_equal)r6   r=   	temp_fileempty_dspath	empty_ds2s   &&&   r%   test_read_empty_dtaTestStata.test_read_empty_dtaD   s@    fX.$E7Ct$	
h2r$   c                   \        R \        P                  ! ^ .\        P                  R7      R\        P                  ! ^ .\        P                  R7      R\        P                  ! ^ .\        P
                  R7      R\        P                  ! ^ .\        P                  R7      R\        P                  ! ^ .\        P                  R7      R\        P                  ! ^ .\        P                  R7      R\        P                  ! ^ .\        P                  R7      R\        P                  ! ^ .\        P                  R7      R	\        P                  ! ^ .\        P                  R7      R
\        P                  ! ^ .\        P                  R7      /
4      pTpVP                  VRVR7       \        V4      pTpVR,          P                  \        P                  4      VR&   VR,          P                  \        P                  4      VR&   VR,          P                  \        P
                  4      VR&   VR,          P                  \        P
                  4      VR&   VR,          P                  \        P
                  4      VR&   \         P"                  ! We4       \         P$                  ! VP&                  VP&                  4       R# )i8dtypei16i32i64u8u16u32u64f32f64FrB   N)r   nparrayint8int16int32int64uint8uint16uint32uint64float32float64rE   r   astyperF   rG   assert_series_equaldtypes)r6   r=   rH   empty_df_typedrJ   empty_rereadexpecteds   &&&    r%   test_read_empty_dta_with_dtypes)TestStata.test_read_empty_dta_with_dtypesM   s   
 #bhhs"''2rxx2884rxx2884rxx2884bhhs"((3rxx2995rxx2995rxx2995rxx2::6rxx2::6
 %I!$'!!$..rww7"5/00:"5/00:"5/00:"5/00:
h5
x0C0CDr$   c                Z   \        R \        ^4      R. RO/4      pTpVP                  VRVR7       \        V4      p\	        VP
                  \        P                  4      '       g   Q hTpVR ,          P                  \        P                  4      VR &   \        P                  ! WVRR7       R# )r   r   FrB   Tcheck_index_typeN)b1b2b3b4b5)r   rangerE   r   
isinstancer-   pd
RangeIndexrg   r[   r_   rF   rG   )r6   r=   rH   dfrJ   read_dfrl   s   &&&    r%   test_read_index_col_none"TestStata.test_read_index_col_noneq   s    U1Xs,JKL
DeW=T"'--7777 ,,RXX6
g$Gr$   c                   V! R RRRV R24      pV P                  V4      p\        \        P                  \        P                  \        P                  \        P                  \        P                  3.. ROR
7      pVR,          P	                  \        P
                  4      VR&   V^l8:  d   VP                  RRRRRRRRR	R/R
7      p\        P                  ! WE4       R# )r(   r)   r*   stata1_.dta
float_missdouble_miss	byte_missint_miss	long_missr@   f_missd_missb_missi_missl_missNr   r   r   r   r   )	r8   r   r[   nanrg   re   renamerF   rG   )r6   r=   r/   r7   parsedrl   s   &&&   r%   test_read_dta1TestStata.test_read_dta1~   s     fg	/FGt$ ffbffbffbffbff56W
 "*,!7!>!>rzz!J c> (!8 ' H 	f/r$   c                   \         P                  ! \        R ^^^^^4      R\        R^^4      \        R^^4      \        R^^4      \        R^^4      \        R^^4      \        R^^4      3\        R^^^^^4      R\        R^
^4      \        R^^
4      \        R^^4      \        R^^4      \        R^^4      \        ^^^4      3\        P                  \        P                  \        P                  \        P                  \        P                  \        P                  \        P                  \        P                  3.. ROR7      pVR,          P                  R4      VR&   VR	,          P                  R4      VR	&   VR
,          P                  R4      VR
&   VR,          P                  R4      VR&   VR,          P                  R4      VR&   VR,          P                  R4      VR&   VR,          P                  R4      VR&   V! RRRR4      pV! RRRR4      pV! RRRR4      pRp\        P                  ! \        VR7      ;_uu_ 4        V P                  V4      pRRR4       \        P                  ! \        VR7      ;_uu_ 4        V P                  V4      pRRR4       \        P                  ! \        VR7      ;_uu_ 4        V P                  V4      p	RRR4       \        P                  ! XV4       \        P                  ! XV4       \        P                  ! X	V4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L}; i)  l   *}ai  i  i  i  i  i  
datetime_cdateweekly_datemonthly_datequarterly_datehalf_yearly_dateyearly_dater@   M8[ms]M8[s]r(   r)   r*   zstata2_114.dtazstata2_115.dtazstata2_117.dtaz Leaving in Stata Internal FormatmatchNiZl)r   datetime_big_cr   r   r   r   r   r   )r   from_recordsr   ry   NaTrg   rF   assert_produces_warningUserWarningr8   rG   )
r6   r/   rl   path1path2path3msgr1   
parsed_115
parsed_117s
   &&        r%   test_read_dta2TestStata.test_read_dta2   s   )) T2r2r26!T1b)T1a(T1a(T1a(T1a(T1a(	 T2r2q"5T2q)T1b)T1a(T1a(T1a(Q1%	 P+.	1"
H "*,!7!>!>x!H#F+227;"*="9"@"@"I#+N#;#B#B7#K %-.>%?%F%Fw%O!"'/0B'C'J'J7'S#$"*="9"@"@"Ivw0@Avw0@Avw0@A0''3??u-J @''3??u-J @''3??u-J @ 	j(3
j(3
j(3% @?????s$   
L'L:M'L7	:M
	M	r7   c                   V! R RRV R24      pV P                  V4      pV P                  V! R RRR4      4      pVP                  \        P                  4      pVR,          P                  \        P
                  4      VR&   VR,          P                  \        P                  4      VR&   \        P                  ! W44       R# )r(   r)   r*   r   
stata3.csvyearquarterN)	r8   r	   rg   r[   re   r^   r]   rF   rG   r6   r7   r/   r   rl   s   &&&  r%   test_read_dta3TestStata.test_read_dta3   s     fg$t}=t$ ==$!NO??2::.#F+22288<&y188A
f/r$   c                    V! R RRRV R24      pV P                  V4      p\        P                  ! . RO. RO. RO. RORR^\        P                  R.RR^\        P                  R.RR^\        P                  R.R
R	^\        P                  R
.RR^	\        P                  R.RRR\        P                  R..
. ROR7      pV F  pWV,          P                  4       p\        P                  ! VR,          VP                  4       ,          4      pVR8X  d   TpVP                  R4      P                  p	V	P                  VRR7      p	V	P                  P                  RRR7       WV&   K  	  \        P                  ! WE4       R# )r(   r)   r*   stata4_r   onetentwoninethreeeightfoursevenfivesixfully_labeledincompletely_labeledr@   categoryTorderedNinplacer   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   fully_labeled2r   labeled_with_missingsfloat_labelledr8   r   r   r[   r   copyasarraynotnarg   _valuesset_categories
categoriesr   rF   rG   
r6   r=   r/   r7   r   rl   colorigr   cats
   &&&       r%   test_read_dta4TestStata.test_read_dta4   sZ   fg	/FGt$))34=42666226651&!RVVW5'1bffg626662ubffe4
. C=%%'DH_$=djjl$KLJ,,!
++j)11C$$Z$>CNN!!$!5SM  	f/r$   c                    V! R RRRV R24      pV P                  V4      p\        P                  ! . RO. RO. RO. RORR^\        P                  R.RR^\        P                  R.RR^\        P                  R.R
R	^\        P                  R
.RR^	\        P                  R.RRR\        P                  R..
. ROR7      pV F  pWV,          P                  4       p\        P                  ! VR,          VP                  4       ,          4      pVR8X  d   TpVP                  R4      P                  p	V	P                  VRR7      p	V	P                  P                  RRR7       WV&   K  	  \        P                  ! WE4       R# )r(   r)   r*   r   r   r   r   r   r   r   r   r   r   r   r   fulllabincmplabr@   r   Tr   Nr   r   r   r   r   )r   fulllab2r   misslabfloatlabr   r   s
   &&&       r%   test_readold_dta4TestStata.test_readold_dta4  s[    fg	/FGt$))34=42666226651&!RVVW5'1bffg626662ubffe4
. C=%%'DHY$7

$EFJj !
++j)11C$$Z$>CNN!!$!5SM  	f/r$   c           	         V P                  V! R RRV R24      4      p\        P                  ! . RO. R	O. R
O.. ROR7      p\        P                  ! W4RR7       R# )r(   r)   r*   r   r@   Fcheck_dtypeN)r   abc	abcdefghi)r   cbaqwertywertyqwerty)]    strl)xyz)r8   r   r   rF   rG   r   s   &&&  r%   test_read_dta_strlTestStata.test_read_dta_strlN  sX     xfg$t}MN))'/ 
 $
 	fEBr$   c                   V P                  V! R RRV R24      4      pVR,          P                  R4      VR&   \        P                  ! . RORRR\        P
                  \        P
                  \        P
                  \        P
                  .. RO. RO. RO.. ROR7      pVR,          P                  \        P                  4      VR&   VP                   F&  p\        P                  ! W5,          WE,          4       K(  	  \        V! R RRV R24      4      ;_uu_ 4       pVP                  4       pRRRRR	RRRRRR
RRR/p\        P                  ! Wx4       VP                  R8X  g   Q h RRR4       R#   + '       g   i     R# ; i)r(   r)   r*   r   BytesODogBostonu   UzunköprüThingsCitiesUnicode_Cities_StrlIntsFloatsLongsr@   u'   Here are some strls with Ünicode charsz	long datazHere are some thingsz	byte datazint datazHere are some citiesz
float datau   This is a  Ünicode data labelN)CatBogotau   Bogotár   r   u   option b Ünicoder   )PlaneRomeu   Tromsør           option ar   )PotatoTokyou	   Elâzığ      @r   r   )r   r   r   r   gT?r  gUUUUUU?)r   r   r   r   r   r   r   )r8   rg   r   r   r[   r   re   rA   rF   assert_almost_equalr   variable_labelsassert_dict_equal
data_label)	r6   r7   r/   
parsed_118rl   r   rdrvlvl_expecteds	   &&&      r%   test_read_dta118_119TestStata.test_read_dta118_119g  sW    ]]8D&'dV4=#QR
(188=
7))N-PE??
$ &h/66rzzB%%C"":?HMB & $D6GHHC$$&B%'P0
0,K   1>>%EEEE IHHHs   A
E22F	c                   \        \        P                  \        P                  \        P                  \        P                  \        P                  3.. ROR7      pRVP                  n        TpVP                  VRR7       V P                  V4      pTpVP                  P                  \        P                  4      Vn        \        P                  ! VP                  R4      V4       R# )r   r@   r-   Nr+   r   )r   r[   r   r-   r.   rE   r8   rg   r_   rF   rG   	set_index)r6   rH   originalrJ   written_and_read_againrl   s   &&    r%   test_read_write_dta5TestStata.test_read_write_dta5  s    ffbffbffbffbff56W
 &$d3!%t!4!..rxx8
4>>wGRr$   c                   V P                  V! R RRR4      4      pRVP                  n        VP                  P                  \        P
                  4      Vn        VR,          P                  \        P
                  4      VR&   VR,          P                  \        P
                  4      VR&   TpVP                  VRR7       V P                  V4      p\        P                  ! VP                  R4      VR	R
7       R# )r(   r)   r*   r   r-   r   r   Nr+   Frp   )r	   r-   r.   rg   r[   r_   rE   r8   rF   rG   r  )r6   r/   rH   r  rJ   r  s   &&&   r%   test_write_dta6TestStata.test_write_dta6  s    ==$!NO%!..rxx8#F+22288<&y188B$d3!%t!4
",,W5"	
r$   c           	        \        R R^R\        P                  ! R4      ... ROR7      p\        VR,          \        R7      VR&   RVP
                  n        VP
                  P                  \        P                  4      Vn        VR,          P                  \        P                  4      VR&   TpVP                  VRR	/VR
7       V P                  V4      pVP                  4       pVR,          P                  R4      VR&   V'       d   VR,          P                  R4      VR&   \        P                  ! VP                  R4      V4       R# )stringobject皙?
2003-12-25integerr   r)   rA   rP   r-   tcr,   r=   r   strN)r  r  r  floatingr   )r   r[   
datetime64r   r  r-   r.   rg   r_   rE   r8   r   rF   rG   r  )r6   r=   rH   using_infer_stringr  rJ   r  rl   s   &&&&    r%   test_read_write_dta10TestStata.test_read_write_dta10  s   Xq#r}}\/JKLK
 $HX$6fE%!..rxx8&y188B$z4.@'R!%t!4==?'
3::8D!)(!3!:!:5!AHX
",,W5	
r$   c                    Tp\        \        P                  P                  ^4      P	                  R4      \        R4      R7      pVP                  V4       R# )r   ABr@   N
   r   )r   r[   randomdefault_rngstandard_normallistrE   )r6   rH   rJ   r{   s   &&  r%   test_stata_doc_examples!TestStata.test_stata_doc_examples  sB    II!!!$44W=tDz
 	Dr$   c                :   \        \        P                  P                  ^4      P	                  R4      \        R4      R7      p\        P                  VP                  R&   VP                  4       pTpVP                  VRR7       \        P                  ! W#4       R# )r   abcdr@   FrC   N)   r   )r   :r   r   N)r   r[   r,  r-  r.  r/  r   locr   rE   rF   rG   )r6   rH   r{   df_copyrJ   s   &&   r%   test_write_preserves_original'TestStata.test_write_preserves_original  ss     II!!!$44V<d6l
  VVz'')
De,
b*r$   c                P   \        V! R RRR4      4      p\        V! R RRR4      4      pVP                  ^ ,          pVP                  ^ ,          pWg8X  g   Q h\        V\        4      '       g   Q hTpVP	                  VRVR7       \        V4      p	\
        P                  ! WY4       R# )r(   r)   r*   zstata1_encoding.dtaFrB   N)r   	kreis1849rx   r"  rE   rF   rG   )
r6   r=   r/   rH   rawencodedresultrl   rJ   reread_encodeds
   &&&&      r%   test_encodingTestStata.test_encoding  s     $9NOPXdFG=RST""1%==#!!!&#&&&&5'B#D)
g6r$   c                "   \        R.. ROR7      p\        R.. R	OR7      pRVP                  n        VP                  \        P
                  4      pTpRp\        P                  ! \        VR7      ;_uu_ 4        VP                  VRR7       RRR4       V P                  V4      pTpVP                  P                  \        P
                  4      Vn        \        P                  ! VP                  R4      V4       R#   + '       g   i     Ly; i)
r   r@   r-   ;Not all pandas column names were valid Stata variable namesr   Nr+   r   )goodu   bäd8number%astringwithmorethan32characters______)rD  b_d_8number astringwithmorethan32characters_r   r-   r.   rg   r[   r_   rF   r   r   rE   r8   rG   r  )r6   rH   r  	formattedrJ   r   r  rl   s   &&      r%   test_read_write_dta11TestStata.test_read_write_dta11  s    N
 NS
	  '	$$RXX.	K''(9EEd$7 F "&t!4!..rxx8
4>>wGR FEs   9C>>D	c                $   \        R.. ROR7      p\        R.. R	OR7      pRVP                  n        VP                  \        P
                  4      pTpRp\        P                  ! \        VR7      ;_uu_ 4        VP                  VRVR7       RRR4       V P                  V4      pTpVP                  P                  \        P
                  4      Vn        \        P                  ! VP                  R4      V4       R#   + '       g   i     Ly; i)
r   r@   r-   rC  r   Nr!  r   r   r   r   r5     )!astringwithmorethan32characters_1!astringwithmorethan32characters_2+-shortdelete)rI   _0astringwithmorethan32character__1__short_deleterJ  )	r6   r=   rH   r  rK  rJ   r   r  rl   s	   &&&      r%   test_read_write_dta12TestStata.test_read_write_dta12  s     

  

	  '	$$RXX.	K''(9EEd$H F "&t!4!..rxx8
4>>wGR FEs   9C??D	c                6   \        R\        P                  R7      p\        R\        P                  R7      p\        R	\        P                  R7      p\        RVRVRV/4      pRVP                  n        TpVR,          P                  \        P                  4      VR&   TpVP                  V4       V P                  V4      pTp	V	P                  P                  \        P                  4      V	n        \        P                  ! VP                  R4      V	4       R# )
r   rP   r^   r_   r`   r-   Ni   i   l        )r   r[   r^   r_   r`   r   r-   r.   rg   rf   rE   r8   rF   rG   r  )
r6   rH   s1s2s3r  rK  rJ   r  rl   s
   &&        r%   test_read_write_dta13TestStata.test_read_write_dta137  s    D)E*E*gr7BDE%	&w/66rzzB	'$!%t!4!..rxx8
4>>wGRr$   c                P   V! R RRV R24      pV P                  V4      pRVP                  n        \        P                  ! W&4       TpVP                  VRR/VR7       V P                  V4      pVP                  4       p	\        P                  ! VP                  R4      V	4       R# )	r(   r)   r*   r   r-   date_tdtdr!  N)r8   r-   r.   rF   rG   rE   r   r  )
r6   r7   r1   r=   r/   rH   r   rJ   r  rl   s
   &&&&&&    r%   test_read_write_reread_dta14&TestStata.test_read_write_reread_dta14I  s     fg$t}=t$#
j1DD0A7S!%t!4??$
4>>wGRr$   c                   V P                  V! R RRR4      4      pVR,          P                  \        P                  4      VR&   VR,          P                  \        P                  4      VR&   VR,          P                  \        P
                  4      VR&   VR,          P                  \        P                  4      VR&   VR,          P                  \        P                  4      VR&   VR	,          P                  R
4      P                  P                  RRR7      pVP                  R4      VR	&   V! R RRV R24      pV P                  V4      p\        P                  ! W54       R# )r(   r)   r*   
stata6.csvbyte_int_long_float_double_re  z	Period[D]sS)howr   r   N)r	   rg   r[   r]   r^   r_   re   rf   r   asfreqviewr8   rF   rG   )r6   r7   r/   rl   arrr   s   &&&   r%   test_read_write_reread_dta15&TestStata.test_read_write_reread_dta15]  s%    ==$!NO$W-44RWW=#F+22288<$W-44RXX>%h/66rzzB&y188D y!((5==DDScDR!hhw/fg$t}=t$
h/r$   c                   \        R.R.R7      p\        R^^^^4      pRpTpVP                  WdWQR7       \        V4      ;_uu_ 4       pVP                  R8X  g   Q hVP
                  V8X  g   Q h RRR4       R#   + '       g   i     R# ; i)	r   variabler@     zThis is a data file.)
time_stampr	  r=   z29 Feb 2000 14:21Nr   )r   r   rE   r   r{  r	  )r6   r=   rH   r  r{  r	  rJ   readers   &&&     r%   test_timestamp_and_label"TestStata.test_timestamp_and_labelq  s    dVj\:dAr2r2
+
J 	 	
 &$$(;;;;$$
222 s   	'A;;B	c                $   \        R.R.R7      pRpTpRp\        P                  ! \        VR7      ;_uu_ 4        VP	                  WTVR7       RRR4       \
        P                  P                  V4      '       d   Q hR#   + '       g   i     L9; i)	r   ry  r@   z01 Jan 2000, 00:00:00z"time_stamp should be datetime typer   )r{  r=   Nr|  )r   pytestraises
ValueErrorrE   osrJ   isfile)r6   r=   rH   r  r{  rJ   r   s   &&&    r%   test_invalid_timestamp TestStata.test_invalid_timestamp  so    dVj\:,
2]]:S11d7K 277>>$''''' 21s   A??B	c                   \        \        P                  ! \        P                  ! R 4      R4      4      pRVP                  n        TpRp\        P                  ! \        VR7      ;_uu_ 4        VP                  V4       RRR4       V P                  V4      pVP                  R4      p\        VP                  4      pR p\        Wv4      Vn        Tp\        P                  ! W4       R#   + '       g   i     Lt; i)g      9@r-   rC  r   Nc                 &    \        V ^,          4      # r|  )intr   s   &r%   <lambda>5TestStata.test_numeric_column_names.<locals>.<lambda>  s    S1Yr$   )r5  r5  )r   r[   reshapearanger-   r.   rF   r   r   rE   r8   r  r/  rA   maprG   )	r6   rH   r  rJ   r   r  rA   convert_col_namerl   s	   &&       r%   test_numeric_column_names#TestStata.test_numeric_column_names  s    RZZ		$@A%K''(9EEd# F "&t!4!7!A!A'!J-556.),-=)G&
h? FEs   .C,,C<	c                   \        \        P                  ! R 4      \        P                  R7      p\        \        P                  ! R 4      \        P                  R7      p\        P
                  VR&   \        P
                  VR&   \        RVRV/4      pRVP                  n        TpVP                  WaR7       V P                  V4      pVP                  R4      pTp\        P                  ! Wx4       R# )	r  rP   :NNr   :r   Nr   r_  r`  r-   r=   N)r   r[   r  re   rf   r   r   r-   r.   rE   r8   r  rF   rG   )	r6   r=   rH   r_  r`  r  rJ   r  rl   s	   &&&      r%   test_nan_to_missing_value#TestStata.test_nan_to_missing_value  s    BIIcN"**5BIIcN"**5&&3664dBb12%$0!%t!4!7!A!A'!J
4?r$   c                   R R.p\        \        P                  ! \        P                  ! R4      R	4      VR7      pRVP                  n        TpVP                  VRR7       V P                  V4      p\        P                  ! \        VP                  P
                  R7      ;_uu_ 4        VR,           RRR4       R#   + '       g   i     R# ; i)
r   r         $@r@   index_not_writtenFr4  r   N)r5  r   )r   r[   r  r  r-   r.   rE   r8   r  r  KeyError)r6   rH   rA   r  rJ   r  s   &&    r%   test_no_indexTestStata.test_no_index  s    *RZZ		$@'R1$E2!%t!4]]88>>+>+>??"#67 @???s   *
B>>C	c                2   \        R R.4      p\        RR.\        P                  R7      p\        RVRV/4      pRVP                  n        TpVP                  V4       V P                  V4      pTp\        P                  ! VP                  R4      V4       R# )	r   zA longer stringr          @rP   r_  r`  r-   N)r   r[   rf   r   r-   r.   rE   r8   rF   rG   r  )r6   rH   r_  r`  r  rJ   r  rl   s   &&      r%   test_string_no_datesTestStata.test_string_no_dates  s    S+,-S#Jbjj1dBb12%$!%t!4
4>>wGRr$   c           
     ,   \        ^^c.\        P                  R7      p\        ^^.\        P                  R7      p\        ^R
.\        P                  R7      p\        ^R.\        P                  R7      p\        RVRVRVRV/4      pRVP                  n        Tp\        P                  ! \        RR7      ;_uu_ 4        VP                  V4       R	R	R	4       V P                  V4      pTp	\        V	R,          \        P                  R7      V	R&   \        V	R,          \        P                  R7      V	R&   \        V	R,          \        P                  R7      V	R&   \        P                  ! VP!                  R4      V	4       R	#   + '       g   i     L; i)r   rP   s0r_  r`  ra  r-   zfrom int64 tor   Ni  l    )r   r[   r]   r^   r`   r   r-   r.   rF   r   r   rE   r8   r_   rf   rG   r  )
r6   rH   r  r_  r`  ra  r  rJ   r  modifieds
   &&        r%   test_large_value_conversion%TestStata.test_large_value_conversion  s*   QG277+QHBGG,Q	N"((3Q	N"((3dBb$D"EF%''(=_UUd# V "&t!4bhh?bhh?bjjA
4>>wGR VUs   ?FF	c           
     >   \        \        R ^^^^^4      .4      pRVP                  n        TpRp\        P
                  ! \        VR7      ;_uu_ 4        VP                  V^ R/R7       RRR4       V P                  V4      pVP                  4       pR.Vn
        VP                  P                  \        P                  4      Vn        VR,          P                  R4      VR&   \        P                  ! VP                  R4      V4       R#   + '       g   i     L; i)	r   r-   rC  r   r   r+   N_0r   )r   r   r-   r.   rF   r   r   rE   r8   r   rA   rg   r[   r_   rG   r  )r6   rH   r  rJ   r   r  rl   s   &&     r%   test_dates_invalid_column#TestStata.test_dates_invalid_column  s    htRRR@AB%K''(9EEd1d)< F "&t!4==? 6!..rxx8!$..x8
4>>wGR FEs   DD	c                   V! R RRR4      p\        V4      p. R	O. R
O. RO.p\        V4      p. ROVn        VR,          P                  \        P
                  4      VR&   VR,          P                  \        P                  4      VR&   VR,          P                  \        P                  4      VR&   VR,          P                  \        P                  4      VR&   \        P                  ! VP                  ^4      V4       R# )r(   r)   r*   S4_EDUC1.dtaclustnumpri_schlpsch_numpsch_disN)r   r   r   )r   r   r   r  )r   r   r   r  )r  r  r  r  )r   r   rA   rg   r[   r^   r]   re   rF   rG   head)r6   r/   dpathr{   df0s   &&   r%   test_105TestStata.test_105  s     vw?m];nFj/00:Jj/009Jj/009Jj/00<J
bggaj#.r$   c                    V! R RRR4      p\        V4      ;_uu_ 4       pVP                  4       / 8X  g   Q h RRR4       R#   + '       g   i     R# ; i)r(   r)   r*   r  N)r   value_labels)r6   r/   r  r}  s   &&  r%   test_value_labels_old_format&TestStata.test_value_labels_old_format  sG    
 vw?6&&(B...  s   AA	c                   . R
OpV Uu/ uF  q3VbK  	  pp\        R^^^^^4      .\        V4      ,          p\        V.VR7      pRVP                  n        \        R^^^^^4      \        R^^4      \        R^^4      \        R^^4      \        R^
^4      \        R^^4      \        R^^4      .p\        V.\
        P                  ! ^ .\        P                  RR7      VRR7      pVR ,          P                  R4      VR &   Tp	VP                  WR7       V P                  V	4      p
\        P                  ! V
P                  R4      V4       R	# u upi )r   r   r@   r-   rQ   r.   r   )r-   rA   rQ   r   r+   N)r   rf  twrF   tqthty)r   lenr   r-   r.   ry   Indexr[   r_   rg   rE   r8   rF   rG   r  )r6   rH   rA   r   conversionsr)   r  expected_valuesrl   rJ   r  s   &&         r%   test_date_export_formats"TestStata.test_date_export_formats  sF   <%,-W!tW-r2r2r23c'lBdVW5%T2r2r2.T2r"T2r"T2q!T2q!T1a T1a 
 ((A3bhhW=	
 "$..x8$:!%t!4
4>>wGR5 .s   Ec                   \        R .R..R.R7      p\        R .R..\        P                  ! ^RR7      R.R7      pTpVP                  V4       V P	                  V4      p\
        P                  ! VP                  R4      V4       R# )1Nfoor@   r   r-   r.   r-   rA   )r   ry   rz   rE   r8   rF   rG   r  )r6   rH   r  rl   rJ   r  s   &&    r%   test_write_missing_strings$TestStata.test_write_missing_strings  s    sedV_ug>URDM--0G
 $!%t!4
4>>wGRr$   	byteorder><c                   \        . RO\        P                  R7      p\        . RO\        P                  R7      p\        . RO\        P                  R7      p\        . RO\        P                  R7      p\        . RO\        P                  R7      p\        . RO\        P
                  R7      p	\        . RO\        P
                  R7      p
\        RVRVRVRVRVRV	RV
/4      pR	VP                  n        TpVP                  WVR
7       V P                  V4      pVP                  R	4      pTp\        P                  \        P                  \        P                  \        P                  \        P                  \        P                  \        P                  3p\!        VP"                  V4       F!  w  ppVV,          P%                  V4      VV&   K#  	  \&        P(                  ! W4       R# )r   rP   r  r_  r`  ra  s4s5s6r-   )r  r=   N)r   r   T)r   r   d   )r   r      )r   r   i  )r   r   i  )r   r   i)r   r   l    )r   r[   bool_ra   rb   rc   r   r-   r.   rE   r8   r  r]   r^   r_   rf   ziprA   rg   rF   rG   )r6   r  r=   rH   r  r_  r`  ra  r  r  r  r  rJ   r  rl   expected_typesr   ts   &&&&              r%   test_bool_uintTestStata.test_bool_uint*  sk    L1Krxx0Krxx0'ryy9%RYY7'ryy9%RYY72tRr4T2tRrR
 &$WE!%t!4!7!A!A'!JGGGGHHHHHHHHJJ
 ((.9DAq"1+,,Q/HQK : 	4?r$   c                   \        V! R RRR4      4      ;_uu_ 4       pVP                  4       pRRR4       \        V! R RRR4      4      ;_uu_ 4       pVP                  4       pRRR4       RpRpXP                  4        F-  w  rxVX9   g   Q hWV,          8X  g   Q hWu9   g   Q hW9   d   K-  Q h	  R#   + '       g   i     L; i  + '       g   i     Lj; i)r(   r)   r*   zstata7_115.dtaNzstata7_117.dta)var1var2var3)label1label2label3)r   r  items)	r6   r/   r  sr_115sr_117keyslabelskvs	   &&       r%   test_variable_labelsTestStata.test_variable_labelsO  s    $9IJKKs((*F L$9IJKKs((*F L'/LLNDA;;q	>!>99;;	 # LKKKs   B2C2C	C	c           	     2   R	p/ pV F9  p\        RV,          RV,          RV,          .4      VR\        V4      ,           &   K;  	  \        V4      pTpVP                  VRR7       \	        V4      ;_uu_ 4       pVP                  4        \        VP                  VP                  VP                  4       FD  w  rp
\        VR,          4      \        V	^R
 4      8X  g   Q h\        VR,          4      V
8X  d   KD  Q h	  RRR4       R#   + '       g   i     R# ; i)r   r   r   r   rp  Fr4  r   NNN)r   r     )r   r"  r   rE   r   _ensure_openr  _varlist_fmtlist_typlistr  )r6   rH   str_lensrp  str_lenr  rJ   srry  fmttyps   &&         r%   test_minimal_size_colTestStata.test_minimal_size_col\  s     G$*wgsW}=%AcCL !   Q<$E2"OO&)"++r{{BKK&P"s8B<(CAb	N:::8B<(C/// 'Q s   7A;D7DD	c                N   Rp/ pV F9  p\        RV,          RV,          RV,          .4      VR\        V4      ,           &   K;  	  \        V4      pRp\        P                  ! \
        VR7      ;_uu_ 4        TpVP                  V4       RRR4       R#   + '       g   i     R# ; i)	r   r   r   r   rp  zFixed width strings in Stata \.dta files are limited to 244 \(or fewer\)\ncharacters\.  Column 's500' does not satisfy this restriction\. Use the\n'version=117' parameter to write the newer \(Stata 13 and later\) format\.r   N)r   r    )r   r"  r   r  r  r  rE   )r6   rH   r  rp  r  r  r   rJ   s   &&      r%   test_excessively_long_string&TestStata.test_excessively_long_stringm  s     G$*wgsW}=%AcCL !   Q<9 	 ]]:S11Dd# 2111s   5BB$	c                   Rp\        R..R.R7      pTpVP                  V4       \        V4      ;_uu_ 4       pVP                  pRRR4       \	        ^4       Uu. uF  pR\        ^aV,           4      ,           NK  	  ppVP                  ^ R4       V FW  p	XV	,          ^,          p
\	        ^4       F5  p\        V
^,           V,           4      pVP                  W,          8X  d   K5  Q h	  KY  	  \        \        P                  ! RR4      ^ ,          4      pVP                  R8X  g   Q h\        \        P                  ! RR4      ^ ,          4      pVP                  R	8X  g   Q h\        \        P                  ! R
R4      ^ ,          4      pVP                  R8X  g   Q h\        \        P                  ! R
R4      ^ ,          4      pVP                  R	8X  g   Q hR#   + '       g   i     EL; iu upi )r   r   rn  r@   N.z<fs      s     z.zz<ds         s        )r   hl)r   rE   r   VALID_RANGErw   chrinsertr   r  structunpack)r6   rH   typesr{   rJ   r  valid_rangeir  r  offsetvals   &&          r%   test_missing_value_generator&TestStata.test_missing_value_generator  s   w
3
D#//K 6;Bi@i3R!V,,i@q#&A ^A&F2Y'
Q7zz_%7777    d4G H KLzzS   d4G H KLzzT!!!  MM$ CDQG
 zzS   MM$ CDQG
 zzT!!!1 @s   G"G,G)	c           
        . R
Op\        ^e4      p\        VP                  P                  4       4      p. p\	        ^4       FK  p\	        ^4       Uu. uF"  p\        WWV^,          ,           ,          4      NK$  	  p	pVP                  V	4       KM  	  \        WcR7      p
\        V! RRRRV R24      RR7      p\        P                  ! W4       R	# u upi int8_r@   r(   r)   r*   stata8_r   Tconvert_missingNr  int16_int32_float32_float64_
r   sortedMISSING_VALUESr  rw   appendr   r   rF   rG   )r6   r=   r/   rA   smvr  r)   r  jrowrl   r   s   &&&         r%   test_missing_value_conversion'TestStata.test_missing_value_conversion  s    G$c((--/0rABG(K(Q$Tq2v,%78(CKKK  T3T67ggYd,CD 
 	f/ Ls   (Cc           
     r   . R
Op\        ^e4      p\        VP                  P                  4       4      p. p\	        ^4       Uu. uF  p\        WW^,          ,          4      NK  	  ppVP                  V4       \        WcR7      p	\        V! RRRRV R24      RR7      p
\        P                  ! W4       R	# u upi r  r  r6   r=   r/   rA   r  r  r)   r   r!  rl   r   s   &&&        r%   $test_missing_value_conversion_compat.TestStata.test_missing_value_conversion_compat  s    G$c((--/08=aA1 "f.ACT3T67ggYd,CD 
 	f/ Bs   !B4c           
     `   . R
Op\        ^e4      p\        VP                  P                  4       4      p. pR Uu. uF  p\        WW^,          ,          4      NK  	  ppVP	                  V4       \        WcR7      p	\        V! RRRRV R24      RR7      p
\        P                  ! W4       R	# u upi )r  r@   r(   r)   r*   r  r   Tr  Nr  )r   r   r   r   r   )	r   r  r  r  r  r   r   rF   rG   r%  s   &&&        r%   +test_missing_value_conversion_compat_nobyte5TestStata.test_missing_value_conversion_compat_nobyte  s    G$c((--/08GH1 "f.HCT3T67ggYd,CD 
 	f/ Is   !B+c                <   . ROp. ROp. ROp. ROp. ROp. ROp. p	\        W4WVWx4       F  w  rrr. p\        ^4       Fh  pV^ 8X  d   VP                  \        WWW4      4       K(  V^8X  d   VP                  \        V
^^4      4       KM  VP                  \        WV4      4       Kj  	  V	P                  V4       K  	  V	P                  \        P
                  .^,          4       . ROp\        R^^4      V	^,          ^&   \        R^^4      V	^,          ^&   \        R^
^4      V	^,          ^&   \        R^^4      V	^,          ^&   \        R^^4      V	^,          ^&   \        R^^4      ;V	^,          ^&   V	^,          ^&   \        R^^4      ;V	^,          ^&   V	^,          ^&   \        R^
^4      ;V	^,          ^&   ;V	^,          ^&   V	^,          ^&   \        R^^4      ;V	^,          ^&   V	^,          ^&   \        V	V\        R7      p	V	R,          P                  R4      V	R&   V	R,          P                  R4      V	R&   V	R,          P                  R4      V	R&   V	R,          P                  R4      V	R&   V	R,          P                  R4      V	R&   V	R	,          P                  R4      V	R	&   V	R
,          P                  R4      V	R
&   \        V! RRRR4      4      p\        V! RRRR4      4      p\        P                  ! V	V4       \        P                  ! V	V4       V Uu/ uF	  pVVRR bK  	  ppTpRV	P                  n        RpV	P                  \        4      p\        P                  ! \        VR7      ;_uu_ 4        VP!                  VVR7       RRR4       V P#                  V4      p\        P                  ! VP%                  R4      V	P%                  V	P                  P                  \&        P(                  4      4      4       R# u upi   + '       g   i     L; i)   '      date_tcre  date_twdate_tmdate_tqdate_thdate_tyi  )rA   rQ   r   r   r(   r)   r*   zstata9_115.dtazstata9_117.dtaNr-   z^Converting object-dtype columns of datetimes to datetime64 when writing to stata is deprecatedr   r+   )r,  rz  r-  r  r.  r/  )r   r      r   r   	   )r   r      r         )r   r   r:  r   r   r   )r   r   ;   r   r   r   )r0  re  r1  r2  r3  r4  r5  r  )r  rw   r  r   ry   r   r   r  rg   r   rF   rG   r-   r.   r   r   rE   r8   r  r[   r_   )r6   r/   rH   yrmoddhrmmssrl   r   monthdayhourminutesecondr!  r   rA   r   r   r   date_conversionrJ   r   
exp_objectr  s   &&&                        r%   test_big_datesTestStata.test_big_dates  s   0 "   69"""6Q2DFC1X6JJxSOP!VJJxa34JJxS9:  OOC  7R 	1%
 "$B/A!$A.A!$A.A!$1-A!$2.A*24A*>>A!Q*24A*>>A!Q;CD"a;PPAP!Q(1+a.*24A*>>A!QXwfE&y188B&y188A&y188A&y188A&y188A&y188A&y188Avw@P QR
vw@P QR

h
3
h
3.56g1af9g6%2 	 __V,
''cBBOD C!%t!4
",,W5x~~44RXX>?	
 7 CBs   P;PP	c                   V P                  V! R RRR4      4      pVR,          P                  \        P                  4      VR&   VR,          P                  \        P                  4      VR&   VR,          P                  \        P
                  4      VR&   VR,          P                  \        P                  4      VR&   VR,          P                  \        P                  4      VR&   VR	,          P                  R
4      VR	&   \        V! R RRR4      RR7      p\        P                  ! W#4       \        V! R RRR4      RRR7      pV P                  V! R RRR4      4      pVR	,          VR	&   \        P                  ! WT4       R# )r(   r)   r*   rj  rk  rl  rm  rn  ro  re  r   stata6_117.dtaTr+   F)r,   preserve_dtypesN)r	   rg   r[   r]   r^   r_   re   rf   r   rF   rG   )r6   r/   rl   no_conversion
conversion	expected2s   &&    r%   test_dtype_conversionTestStata.test_dtype_conversion  sM   ==$!NO$W-44RWW=#F+22288<$W-44RXX>%h/66rzzB&y188D&y188A"T67,<=T
 	h6T67,<=!

 MM(4,"OP	'	2	)
i4r$   c           
     |   V P                  V! R RRR4      4      pVR,          P                  \        P                  4      VR&   VR,          P                  \        P                  4      VR&   VR,          P                  \        P
                  4      VR&   VR,          P                  \        P                  4      VR&   VR,          P                  \        P                  4      VR&   VR	,          P                  \        P                  RR
7      VR	&   . ROpW#,          p\        V! R RRR4      RVR7      p\        P                  ! W$4       . ROpW#,          p\        V! R RRR4      RVR7      p\        P                  ! W%4       Rp\        P                  ! \         VR7      ;_uu_ 4        \        V! R RRR4      RRR.R7       RRR4       Rp\        P                  ! \         VR7      ;_uu_ 4        \        V! R RRR4      R. ROR7       RRR4       R#   + '       g   i     LZ; i  + '       g   i     R# ; i)r(   r)   r*   rj  rk  rl  rm  rn  ro  re  )argsrL  T)r,   rA   z"columns contains duplicate entriesr   NzEThe following columns were not found in the Stata data set: not_found)z%Y-%m-%d)rk  rl  rm  )rl  rm  rk  )rk  rl  rm  	not_found)r	   rg   r[   r]   r^   r_   re   rf   applyr   strptimer   rF   rG   r  r  r  )r6   r/   rl   rA   dropped	reorderedr   s   &&     r%   test_drop_columnTestStata.test_drop_column2  s   ==$!NO$W-44RWW=#F+22288<$W-44RXX>%h/66rzzB&y188D&y177M 8 
 -$T67,<=
 	h0 -$T67,<=
	
 	h22]]:S11vw0@A" '* 2 V]]:S11vw0@A"? 21 21 211s   +H3H*H'	*H;	z;ignore:\nStata value:pandas.io.stata.ValueLabelTypeMismatchc                   \         P                  ! . RO. RO. RO. RORR	^\        P                  R^.R	R^\        P                  R	^.RR^\        P                  R^.RR^\        P                  R^.RR^	\        P                  R^	.RR R\        P                  R^
..
. ROR7      pTpVP	                  R4      P                  WAR7       V P                  V4      pVP                  R4      pTpVP                  P                  R4      Vn        VR
,          P                  \        4      VR
&   VR,          P                  \        4      VR&   V Fq  pWx,          p	V	P	                  R4      P                  p
V
P                  4       p
VR8X  d   V
P                  V	RR7      p
V
P                  P!                  RRR7       WV&   Ks  	  \"        P$                  ! Wg4       R# )r   r   r   r   r   r   r   r   r   r   r   	unlabeledr@   r   r  r-   Tr   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   r   r   r   r   r]  )r   r   r[   r   rg   rE   r8   r  r-   	set_namesrV  r"  r   
as_orderedr   r   r   rF   rG   )r6   r=   rH   r  rJ   r  resrl   r   r   r   s   &&&        r%   test_categorical_writing"TestStata.test_categorical_writinga  s   
 ))67@72666152665!4&!RVVWa8'1bffgq9266615ubffeR8
, 
#,,T,C!%t!4$..w7!11':+34J+K+Q+QRU+V'( ( 5 ; ;C @C=D++j)11C.."Ck!((t(<NN!!$!5SM  	c,r$   c                   \         P                  ! R .R.R.R.^..R.R7      P                  R4      pRp\        P                  ! \
        VR7      ;_uu_ 4        VP                  V4       R	R	R	4       R	#   + '       g   i     R	# ; i)
r   r   r   dToo_longr@   r   zBdata file created has not lost information due to duplicate labelsr   N)r   r   rg   rF   r   r   rE   )r6   rH   r  r   s   &&  r%   $test_categorical_warnings_and_errors.TestStata.test_categorical_warnings_and_errors  su    ))USEC53%!-
|

&
 	 S''(>cJJi( KJJJs   A55B	c                   \        ^x4       Uu. uF  pR\        V4      ,           .NK  	  ppVP                  \        P                  .4       \
        P                  ! VR.R7      p\        P                  ! V Uu. uF  qeV,          P                  R4      NK  	  up^R7      pRVP                  n        TpVP                  WqR7       V P                  V4      pVP                  R4      p	Tp
V
 FF  pW,          P                  pVP!                  4       P"                  pVP%                  VRR	7      pWV&   KH  	  \&        P(                  ! W4       R
# u upi u upi )x   r   many_labelsr@   r   )axisr-   r  Tr   N)rw   r"  r  r[   r   r   r   ry   concatrg   r-   r.   rE   r8   r  r   remove_unused_categoriesr   r   rF   rG   )r6   r=   rH   r  valuesr  r   rJ   r  r`  rl   r   new_catss   &&&          r%   *test_categorical_with_stata_missing_values4TestStata.test_categorical_with_stata_missing_values  s#   */*5*Q3Q<.*5rvvh))&=/J999AB#c]!!*-B
 &$0!%t!4$..w7C-''C335@@H$$Xt$<CSM	 
 	c,' 6 Cs   E9 Estata10_115stata10_117c                   R R. RO\         P                  ! ^4      3R R. RO\         P                  ! ^4      RRR1,          3R R. RO\         P                  ! . RO4      3R R. RO\         P                  ! ^ ^4      3R R. RO\         P                  ! . RO4      3RR. RO\         P                  ! ^4      3R R	. RO\         P                  ! ^4      3.p. pV Fn  w  rVrxV'       d5   VP                  V\        P
                  P                  WR R
7      34       KB  VP                  V\        V\         P                  R7      34       Kp  	  \        P                  ! \        V4      4      pV! RRRV R24      p\        V4      p	\        P                  ! W94       V F  p\        W6,          P                   \"        4      '       g   K+  \        P$                  ! W6,          P&                  P(                  W,          P&                  P(                  4       \        P*                  ! W6,          P&                  P,                  W,          P&                  P,                  4       K  	  R# )Tr   reverseNnoorderr#  float_missingFnolabelint32_mixedr   rP   r(   r)   r*   r   )r   r   r   rd  er  )r   r   r   r   r   )r   rd  rz  )r   r   r   r  r  )r   r  r   r  g      @)rd  r   rz  r   r   )r[   r  r\   r  ry   Categorical
from_codesr   re   r   	from_dictdictr   rF   rG   rx   rQ   r   rh   r   codesassert_index_equalr   )
r6   r7   r/   rl   colsis_catr   r  r  r   s
   &&&       r%   test_categorical_order TestStata.test_categorical_order  s   
 971F971dd9KL97/9RS:8"))Aq/J?ORXX>O5PQI8"))A,G="9299Q<H
 *2&F"..33E43PQ S&rzz"BCD +3 &&tDz2 fg$t}=D!
h/ C(---/?@@&&x}'8'8'>'>@U@UV%%M%%00&+//2L2L r$   stata11_115stata11_117c           	     H   \        V! R RRV R24      4      pVP                  RRR7      p\        P                  ! \	        V4      4      Vn        . ROp. ROp\        P                  P                  WERR7      p\        VRR	7      p\        P                  ! WsR,          4       R
# )r(   r)   r*   r   srhfirst)na_positionT)r  r   r   r  N)
r  r  r   r   r   r   r   r   r   r   )PoorFairGoodz	Very good	Excellent)r   sort_valuesry   rz   r  r-   r{  r|  r   rF   rh   )r6   r7   r/   r   r  r   r   rl   s   &&&     r%   test_categorical_sorting"TestStata.test_categorical_sorting  s    HT67tfDMJK ##Ew#? }}S[10G
nn'' ( 
 #E*
x7r$   c                D   V! R RRV R24      p\        V4      p\        VRR7      pV Fs  p\        W5,          P                  \        4      '       g   K+  W5,          P                  P
                  '       g   Q hWE,          P                  P
                  '       g   Ks  Q h	  R# )r(   r)   r*   r   F)order_categoricalsN)r   rx   rQ   r   r   r   )r6   r7   r/   r   parsed_unorderedr   s   &&&   r%   test_categorical_ordering#TestStata.test_categorical_ordering  s    fg$t}=D!%duECfk//1ABB;??*****',0088888	 r$   zignore::UserWarning	chunksizeconvert_categoricalsFTr,   c           	        V! R RRV R24      p\        VVVR7      p\        VRVVR7      ;_uu_ 4       p^ p	\        ^4       Fr  p
 VP                  V4      pTP                  YT,           1R3,          P                  4       pT P                  T4      p\        P                  ! TTRR	7       Y,          p	Kt  	  R
R
R
4       R
#   \         d      K  i ; i  + '       g   i     R
# ; i)r(   r)   r*   r   r  r,   T)iteratorr  r,   NNNFr   N	r   rw   readStopIterationilocr   _convert_categoricalrF   rG   r6   r7   r  r  r,   r/   fnamer   itrposr   chunk
from_frames   &&&&&&       r%   test_read_chunks_117TestStata.test_read_chunks_117  s    . vw4&>!5'

 !5'	
 

 C1XHHY/E $[[Y)>)ABGGI
!66zB
%% %
   
 
 % 
 
 
0   CCA!CC	CC	CC&	c                &   < V ^8  d   QhRS[ RS[ /# )r   r  returnr"   )format__classdict__s   "r%   __annotate__TestStata.__annotate__,  s       y r$   c                B   V  EF  pW,          p\        VP                  \        4      '       g   K.  VP                  P	                  4       pVP
                  P                  \        8X  dH   \        P                  P                  VP
                  P                  RR7      pVP                  V4      pMeVP
                  P                  R8X  dK   \        VP
                  4      ^ 8X  d1   VP
                  P                  \        4      pVP                  V4      pW0V&   EK  	  V # )zH
Emulate the categorical casting behavior we expect from roundtripping.
F)r   r  )rx   rQ   r   r   rm  r   r  ry   r  _with_inferr   r  rg   )r  r   serr   r   s   &    r%   r  TestStata._convert_categorical+  s    
 C/C#))%566kk::<>>''61!#!5!5..U "6 "J ,,Z8C^^))X5#cnn:MQR:R!$!6!6v!>J,,Z8C"%3  r$   c                   V! R RRR4      p\        V4      pVP                  R,          p\        VRR7      ;_uu_ 4       pVP                  ^4      p\        P                  ! WF4       RRR4       \        V^R7      ;_uu_ 4       p\        V4      p\        P                  ! WF4       RRR4       \        VRR7      ;_uu_ 4       pVP                  ^4      p\        P                  ! WF4       RRR4       \        V^R7      ;_uu_ 4       pVP                  4       p\        P                  ! WF4       RRR4       \        V^R7      ;_uu_ 4       p\        P                  ! V4      pRRR4       \        P                  ! VX4       R#   + '       g   i     EL&; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     Lv; i)	r(   r)   r*   zstata12_117.dtaTr  Nr  ):r   r5  Nr  )	r   r  r  rF   rG   next	get_chunkry   rl  )r6   r/   r  r   rl   r  r  from_chunkss   &&      r%   test_iteratorTestStata.test_iterator@  sK   vw0ABE";;v&--HHQKE!!(2 . ++sIE!!(2 , --MM!$E!!(2 . ++sMMOE!!(2 ,
 ++s))C.K ,
fk2' .-- ,+ .- ,+
 ,+s;   (F"F(F+'F>GF	F(	+F;	>G	G!	c           	        V! R RRV R24      p\        VVVR7      p\        VRVVR7      ;_uu_ 4       p^ p	\        ^4       Fr  p
 VP                  V4      pTP                  YT,           1R3,          P                  4       pT P                  T4      p\        P                  ! TTRR	7       Y,          p	Kt  	  R
R
R
4       R
#   \         d      K  i ; i  + '       g   i     R
# ; i)r(   r)   r*   r   r  T)r  r,   r  r  Fr   Nr  r  s   &&&&&&       r%   test_read_chunks_115TestStata.test_read_chunks_115[  s    , vw4&> !5'
 '!5	
 

 C1XHHY/E $[[Y)>)ABGGI
!66zB
%% %
   
 
 % 
 
 
r  c           	     v   V! R RRR4      p. ROp^p\        W#R7      p\        VRR7      ;_uu_ 4       p^ p\        ^4       FX  pVP                  WCR7      p	V	f    MAVP                  WwV,           1R3,          p
\        P
                  ! WR	R
7       Wt,          pKZ  	  RRR4       R#   + '       g   i     R# ; i)r(   r)   r*   zstata3_117.dtar@   Tr  Nr  Fr   )r   cpim1)r   rw   r  r  rF   rG   )r6   r/   r  rA   r  r   r  r  r   r  r  s   &&         r%   test_read_chunks_columns"TestStata.test_read_chunks_columns  s    vw0@A*	E3--C1X<=#[[Y)>)AB
%%jUK   .---s   A*B''B8	c                   R VP                   n        RRRRRR/pTpVP                  WTVR7       \        V4      ;_uu_ 4       pVP	                  4       pRRR4       R R	RRRRRR/pXV8X  g   Q hR
VR &   TpVP                  WTVR7       \        V4      ;_uu_ 4       pVP	                  4       pRRR4       Wt8X  g   Q hR#   + '       g   i     Ls; i  + '       g   i     L-; i)r-   r   	City Rankr   City Exponentr   Cityr  r=   Nr   z	The Index)r-   r.   rE   r   r  )	r6   r=   r&   rH   r  rJ   r  read_labelsexpected_labelss	   &&&&     r%   test_write_variable_labels$TestStata.test_write_variable_labels  s     ")S/3OTGT",,.K  R	
 o---#. TGT",,.K ---  s   B>C>C	C!	c                    R VP                   n        RR
RRRR/pTpRp\        P                  ! \        VR7      ;_uu_ 4        VP                  WTVR7       R	R	R	4       R	#   + '       g   i     R	# ; i)r-   r   r   r  r   r  .Variable labels must be 80 characters or fewerr   r  NZvery longvery longvery longvery longvery longvery longvery longvery longvery longvery longr-   r.   r  r  r  rE   )r6   r=   r&   rH   r  rJ   r   s   &&&&   r%   test_invalid_variable_labels&TestStata.test_invalid_variable_labels  sa    !( 0#VT>]]:S11  PW X 2111s   A  A1	c                    R VP                   n        RRRRRR/pRVR&   Tp\        P                  ! \        RR7      ;_uu_ 4        VP                  WTVR	7       R
R
R
4       R
#   + '       g   i     R
# ; i)r-   r   r   r  r   r  u   invalid character Œz,Variable labels must contain only charactersr   r  Nr  r  )r6   r=   r&   rH   r  rJ   s   &&&&  r%   $test_invalid_variable_label_encoding.TestStata.test_invalid_variable_label_encoding  st    !( 0#VT5]]L
 
   PW X
 
 
 
s   A##A4	c                   . ROpRRRRRRP                  V4      /pRp\        P                  ! \        VR7      ;_uu_ 4        TpVP	                  WdR	7       R
R
R
4       RRRRRR/pRp\        P                  ! \        VR7      ;_uu_ 4        TpVP	                  WgR	7       R
R
R
4       R
#   + '       g   i     L]; i  + '       g   i     R
# ; i)   Ρr   r  r   r  r   r   zKVariable labels must contain only characters that can be encoded in Latin-1r   )r  NzqA very, very, very long variable label that is too long for Stata which means that it has more than 80 charactersr  )r     Αu   Νu   Δr  u   Σ)joinr  r  r  rE   )r6   r&   rH   rn  variable_labels_utf8r   rJ   variable_labels_longs   &&&     r%    test_write_variable_label_errors*TestStata.test_write_variable_label_errors  s    M  
! 	 ]]:S11D   L 2
  2 
 ?]]:S11D   L 21 21 211s   B,B?,B<	?C	c                   \         P                  ! R ^^^^^R4      \         P                  ! R^^^^^R4      \         P                  ! R^^^^^R4      .p\        R. ROR. RORV/4      pVR	,          pVR,          P                  R
4      VR&   TpVP	                  VRR7       \        VRR7      p\        P                  ! WF4       VP	                  VRRR/R7       \        VRR7      p\        P                  ! Wg4       VP                  P                  4       P                  R4      pVP	                  VRVR/R7       \        VRR7      p\        P                  ! Wg4       R# )  .    R      numsstrsdatesr  r   Fr4  Tr+   r   )rC   r,   Nr   r  r   applebananacherry)dtr   r   rg   rE   r   rF   rG   rA   tolistr-   )	r6   rH   r  r  rl   rJ   rereaddirect	dates_idxs	   &&       r%   test_default_date_conversion&TestStata.test_default_date_conversion  sQ    KKb"b"b%8KKb"b"b%8KKaAq!T2

 5
 A;$W-44X>$E2D5
h/$E'4QD5
f-$$++-33G<	$E)TARSD5
f-r$   c                    \        R RR./4      pRp\        P                  ! \        VR7      ;_uu_ 4        TpVP	                  V4       RRR4       R#   + '       g   i     R# ; i)r   z"Data type complex128 not supportedr   Ny      ?       @y       @      @)r   r  r  NotImplementedErrorrE   )r6   rH   r  r   rJ   s   &&   r%   test_unsupported_typeTestStata.test_unsupported_type  sO    cFF#3452]].c::Dd# ;:::s   AA%	c                   \         P                  ! R ^^^^^R4      \         P                  ! R^^^^^R4      \         P                  ! R^^^^^R4      .p\        R. ROR. RORV/4      pR	p\        P                  ! \
        VR
7      ;_uu_ 4        TpVP                  VRR/R7       RRR4       \        P                  ! R^RR7      p\        R. ROR. RORV/4      p\        P                  ! \
        RR
7      ;_uu_ 4        TpVP                  V4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r  r  r  r  r  r  r  r  r  zFormat %tC not implementedr   tCr+   Nz1-1-1990zAsia/Hong_Kong)periodstzzData type datetime64r  r  )	r  r   r   r  r  r  rE   ry   
date_range)r6   rH   r  r  r   rJ   s   &&    r%   test_unsupported_datetype#TestStata.test_unsupported_datetype  s'   KKb"b"b%8KKb"b"b%8KKaAq!T2

 5
 +]].c::Dd7D/B ; j!8HI5
 ]].6LMMDd# NM ;: NMMs   DD2D/	2E	c           
         R p\         P                  ! \        VR7      ;_uu_ 4        \        V! RRRR4      RR7       RRR4       R#   + '       g   i     R# ; i)	a*  
Value labels for column ethnicsn are not unique. These cannot be converted to
pandas categoricals.

Either read the file with `convert_categoricals` set to False or use the
low level interface in `StataReader` to separately read the values and the
value_labels.

The repeated labels are:
-+
wolof
r   r(   r)   r*   zstata15.dtaTr  N)r  r  r  r   )r6   r/   r   s   && r%   test_repeated_column_labels%TestStata.test_repeated_column_labels2  sD    	 ]]:S11vw>%) 2111s   AA	c                *   \        V! R RRR4      4      p\        R^^^^^^ ^ \        P                  ^ ^ .
R^^^^\        P                  ^^^^^.
R^\        P                  ^^^^^^^^.
R. R	O/4      pV. R
O,          p\        P
                  ! W24       R# )r(   r)   r*   zstata7_111.dtar   r   wr   N)
r   r   r   rd  rz  r   gr  r  r   )r   r   r  r   )r   r   r[   r   rF   rG   )r6   r/   r{   r  s   &&  r%   test_stata_111TestStata.test_stata_111D  s     vw8HIJaAq!Q2661a8aAq"&&!Q1a8aAq!Q1a8F	
 01
h+r$   c           
        \        R R\        P                  ! \        P                  4      P                  R.RR\        P                  ! \        P                  4      P                  \        P                  ! \        P                  4      P
                  ./4      pRp\        P                  ! \        VR7      ;_uu_ 4        TpVP                  V4       RRR4       R#   + '       g   i     R# ; i)ColumnOkr   g      ColumnTooBigzZColumn ColumnTooBig has a maximum value \(.+\) outside the range supported by Stata \(.+\)r   N)
r   r[   finfodoubleepsmaxr  r  r  rE   )r6   rH   r{   r   rJ   s   &&   r%   test_out_of_range_double"TestStata.test_out_of_range_doubleT  s    S"((299"5"9"9;OPbhhryy&9&=&=rxx		?R?V?V W
) 	 ]]:S11DKK 2111s    CC/	c           
        \        R R\        P                  ! \        P                  4      P                  \        P                  ! \        P                  4      P
                  R,          .RR\        P                  ! \        P                  4      P                  \        P                  ! \        P                  4      P
                  ./4      pRVP                  n        V F*  pW#,          P                  \        P                  4      W#&   K,  	  TpVP                  V4       \        V4      pVR,          P                  \        P                  4      VR&   Tp\        P                  ! VP                  R4      V4       R# )r
  r   r  r  r-   N)r   r[   r  re   r  r  r-   r.   rg   rE   r   rf   rF   rG   r  )r6   rH   r  r   rJ   r  rl   s   &&     r%   test_out_of_range_float!TestStata.test_out_of_range_floatd  s   HHRZZ(,,HHRZZ(,,t3
 HHRZZ(,,HHRZZ(,,!
 &C$M00<HM  $D!#+N#;#B#B2::#N 
f..w7Br$   infvalc                    \        R RR.RRV./4      pRp\        P                  ! \        VR7      ;_uu_ 4        TpVP	                  V4       RRR4       R#   + '       g   i     R# ; i)
WithoutInfr   r   WithInfr  z[Column WithInf contains infinity or -infinitywhich is outside the range supported by Stata.r   Nr   r  r  r  rE   )r6   r  rH   r{   r   rJ   s   &&&   r%   test_infTestStata.test_inf  s\     sCj)c6]KL= 	 ]]:S11DKK 2111s   AA)	c                   \        R \        P                  ! ^x4      P                  R4      ,          \        P
                  ! \        R4      4      \        P
                  ! \        ^4       Uu. uF  pRV 2NK
  	  up4      R7      pRVP                  n	        R p\        P                  ! VP                  WA4      p\        P                  ! W54       R# u upi )r  ABCDi-rA   r-   r-   c                 6    \        V 4      P                  R 4      # r-   )r   r  r  s   &r%   r  -TestStata.test_path_pathlib.<locals>.<lambda>  s    :a=227;r$   N   r   )r   r[   r  r  ry   r  r/  rw   r-   r.   rF   round_trip_pathlibrE   rG   )r6   rH   r  r{   r}  r>  s   &&    r%   test_path_pathlibTestStata.test_path_pathlib  s    "))C.((11HHT&\*((eBi8ibHi89

  ;&&r{{FF
b) 9s   ,CrC   c           
     0   R . R
O/p\        VR7      pVR ,          P                  R4      VR &   TpVP                  WQR7       \        VRR7      ;_uu_ 4       pVP	                  4       pR	R	R	4       XR ^ R ^R^R^R//8X  g   Q hR	#   + '       g   i     L%; i)ABECr)   r   r4  Tr  N)r*  r+  r,  r)  r+  )r   rg   rE   r   r  )r6   rC   rH   rd  r{   rJ   dta_iterr  s   &&&     r%   test_value_labels_iterator$TestStata.test_value_labels_iterator  s     +,AS'..,3
D2t,,#002L -aaaa%EFFFF -,s   BB	c                   \        R \        P                  ! ^x4      P                  R4      ,          \        P
                  ! \        R4      4      \        P
                  ! \        ^4       Uu. uF  pRV 2NK
  	  up4      R7      pRVP                  n	        TpVP                  V4       \        VRR7      p\        P                  ! W54       R# u upi )r  r  r  r  r-   	index_colNr#  )r   r[   r  r  ry   r  r/  rw   r-   r.   rE   r   rF   rG   )r6   rH   r  r{   rJ   r  s   &&    r%   test_set_indexTestStata.test_set_index  s    "))C.((11HHT&\*((eBi8ibHi89

  
DDG4
b) 9s   ,Ccolumnc                    \        V! R RRR4      4      pVP                  ^ V3,          pVP                  ^ VR,           3,          pWE8X  g   Q hR# )r(   r)   r*   zstata13_dates.dta_fmtN)r   r6  )r6   r6  r/   r{   unformattedrK  s   &&&   r%   (test_date_parsing_ignores_format_details2TestStata.test_date_parsing_ignores_format_details  sO     vw8KLMffQY'FF1fvo-.	'''r$   littlebigc                   \        R R^^^RR\        P                  ! R4      RRRR,          R.RR^^^RR\        P                  ! R4      R	RR
R
... ROR7      p\        VR,          \        R7      VR&   \        VR,          \        P
                  R7      VR&   \        VR,          \        P                  R7      VR&   VR,          P                  \        P                  4      VR&   \        VR,          \        P                  R7      VR&   RVP                  n        VP                  4       pTpVP                  VRR/VR.^uR7       V P                  V4      pVR,          pVR,          P                  R4      VR&   V'       d   VR,          P                  R4      VR&   \        P                   ! VP#                  R4      V4       \        P                   ! WE4       R# )r  r  r  r  r   i  zstring-1zobject-1z
2003-12-26r   r   r]   r^   r_   re   r   forced_strlr  rP   r-   r   )r,   r  convert_strlr=   r  r   r"  N  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa  bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb)r  r  r]   r^   r_   re   rf   r   r_  s2045srtlr?  )r   r[   r$  r   r  r]   r^   rg   r_   re   r-   r.   r   rE   r8   rF   rG   r  )	r6   r  rH   r%  r  r   rJ   r  rl   s	   &&&&     r%   test_writer_117TestStata.test_writer_117  s    MM,/$J MM,/<?-
\ $HX$6fE!(6"2"''B"8G#4BHHE$W-44RXX>$Xi%8

K%}}%t,' 	 	
 "&t!4A;'
3::8D!)(!3!:!:5!AHX
",,W5	
 	h-r$   c                   \        . R
O. RO.. ROR7      pRVP                  n        Rp\        P                  ! \
        VR7      ;_uu_ 4        TpVP                  VR^.^uR7       V P                  V4      pVP                  R4      pVP                  Vn	        \        P                  ! WRRR7       R	R	R	4       R	#   + '       g   i     R	# ; i)r   longr@   r-   rC  r   )r@  r=   Frp   N)  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar)  r  )  bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbr*  r  )2long1long1long1long1long1long1long1long1long1long1rH  r   )r   r-   r.   rF   r   r   rE   r8   r  rA   rG   )r6   rH   r  r   rJ   r  s   &&    r%   test_convert_strl_name_swap%TestStata.test_convert_strl_name_swap  s    ')DE-
 &K''(9EEDd&!cJ]]4(F%%g.F%--FN!!&UK FEEEs   A$B;;C	c                   \         P                  ! R ^^^^^R4      \         P                  ! R^^^^^R4      \         P                  ! R^^^^^R4      .p\        R. ROR. RORV/4      pTpR	p\        P                  ! \
        VR
7      ;_uu_ 4        VP                  VRR/R7       RRR4       R#   + '       g   i     R# ; i)r  r  r  r  r  r  r  r  r  z0convert_dates key must be a column or an integerr   
wrong_namer   r+   Nr  r  )r  r   r   r  r  r  rE   )r6   rH   r  r  rJ   r   s   &&    r%   test_invalid_date_conversion&TestStata.test_invalid_date_conversion"  s     KKb"b"b%8KKb"b"b%8KKaAq!T2

 5
 @]]:S11d<2FG 2111s   B11C	c                   \         P                  ! 4       p\        R \        P                  ! ^x4      P                  R	4      ,          \        P                  ! \        R4      4      \        P                  ! \        ^4       Uu. uF  pRV 2NK
  	  up4      R7      pRVP                  n        TpVP                  W1R7       VP                  ^ 4       \        VR4      ;_uu_ 4       pVP                  VP!                  4       4       RRR4       \#        VRR7      p\$        P&                  ! WX4       R# u upi   + '       g   i     L:; i)
r  r  r  r  r-   r  wbNr2  r#  )r(   BytesIOr   r[   r  r  ry   r  r/  rw   r-   r.   rE   seekopenwriter  r   rF   rG   )	r6   r=   rH   bior  r{   rJ   dtar  s	   &&&      r%   test_nonfile_writingTestStata.test_nonfile_writing6  s     jjl"))C.((11HHT&\*((eBi8ibHi89

  
C)$IIchhj! DG4
b) 9 s   D2% D77E	c                   \        R \        P                  ! ^x4      P                  R
4      ,          \        P
                  ! \        R4      4      \        P
                  ! \        ^4       Uu. uF  pRV 2NK
  	  up4      R7      pRVP                  n	        Tp\        P                  ! VR4      ;_uu_ 4       pVP                  V^rR7       RRR4       \        P                  ! VR4      ;_uu_ 4       p\        VRR	7      pRRR4       \        P                  ! VX4       R# u upi   + '       g   i     Lc; i  + '       g   i     LA; i)r  r  r  r  r-   rS  r  Nrbr2  r#  )r   r[   r  r  ry   r  r/  rw   r-   r.   gzipGzipFilerE   r   rF   rG   )r6   rH   r  r{   rJ   gzr  s   &&     r%   test_gzip_writingTestStata.test_gzip_writingH  s    "))C.((11HHT&\*((eBi8ibHi89

  ]]4&&"KKCK( ']]4&&"g6F '
b&) 9 '&&&s   ,D"8D'3D:'D7	:E
	c           	         V P                  V! R RRV R24      4      p. ROp. RO. RO. R	O. R
O. RO. RO. RO.p\        WTR7      p\        P                  ! W64       R# )r(   r)   r*   r   r@   N)utf8latin1ascii	utf8_strl
ascii_strl)   ραηδαςu   PÄNDÄSpri  rj  )   ƤĀńĐąŜ   Ör   rk  r   )   ᴘᴀᴎᴅᴀS   Ünrm  ro  )      rp  rd  rp  rd  ) r   r   rq  r   )r   r   rp  r   rp  )r   r   rq  r   rq  )r8   r   rF   rG   )r6   r7   r/   
unicode_dfrA   rn  rl   s   &&&    r%   test_unicode_dta_118_119"TestStata.test_unicode_dta_118_119X  s^     ]]8D&'dV4=#QR
HB<D4$""
 V5
j3r$   c                   R R	R^ /R RR^/.p\        V4      pVP                  P                  R4      Vn        TpVP                  VR^uR7       \	        V4      pVP                  R4      p\        P                  ! WV4       RVR &   VP                  VRR .^uR7       \	        V4      pVP                  R4      pV'       d   VR ,          P                  R4      VR &   \        P                  ! WV4       R# )
mixednumberNr_   FrB   r   )rC   r@  r=   r"    stringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstring)r   rw  rg   rE   r   fillnarF   rG   )r6   rH   r%  outputrJ   r  rl   s   &&&    r%   test_mixed_string_strl TestStata.test_mixed_string_strlr  s    NHa87D(TU:VW6",,W5%=D!==$
f/ w%wiQTUD!==$ ( 1 8 8 ?HW
f/r$   c                    R R R^ /R RR^/.p\        V4      pRVR &   \        P                  ! \        RR7      ;_uu_ 4        VP	                  W!R7       RRR4       R#   + '       g   i     R# ; i)nonerw  Nz Column `none` cannot be exportedr   r  r  )r6   r=   rH   rz  s   &&& r%   test_all_none_exception!TestStata.test_all_none_exception  sa    68Q/&$!1LM6"v]]:-OPPOOIO7 QPPPs   AA/	c                    R p\        V.R.R7      pRpRp\        P                  ! \        V RV 2R7      ;_uu_ 4        VP	                  V4       RRR4       R#   + '       g   i     R# ; i)u9   Here is one __�__ Another one __·__ Another one __½__invalidr@   z\'latin-1' codec can't encode character '\\ufffd' in position 14: ordinal not in range\(256\)zP'ascii' codec can't decode byte 0xef in position 14: ordinal not in range\(128\)|r   N)r   r  r  UnicodeEncodeErrorrE   )r6   r=   rH   contentr{   msg1msg2s   &&&    r%   test_invalid_file_not_written'TestStata.test_invalid_file_not_written  sf    My9+6; 	
+ 	 ]]-vQtf5EFFKK	" GFFFs   AA,	c                j   \        R .^,          R.^,          .RR.R7      pVP                  V^uR.R7       \        VR4      ;_uu_ 4       pVP                  4       pRpVP	                  R4      V9   g   Q hVP	                  R4      V9   g   Q hVP                  R	4      ^,          ^R pVP                  R
4      R,           FR  pVP                  R4      R,          pWwP                  R4      ^,           ,          p	\        V4      V	^,
          8X  d   KR  Q h	  RRR4       R#   + '       g   i     R# ; i)pandasu   þâÑÐÅ§var_strvar_strlr@   )r=   r@  r]  zlatin-1zutf-8s   strlss   GSOr         Nr  )r   rE   rV  r  encodesplitfindr  )
r6   rH   rz  r  r  rl   gsosgsor  sizes
   &&        r%   test_strl_latin1TestStata.test_strl_latin1  s   Z!^n-12Y
<S
 		3j\J)T""fkkmG%H??9-888??7+w666==*1-a3Dzz&)"--ii(,88G,q013x4!8+++ . #"""s   CD!D!!D2	c                   R pV! RRRR4      p\         P                  ! \        RR7      ;_uu_ 4       p\        V4      p\	        V4      ^8X  g   Q hV^ ,          P
                  P                  ^ ,          V8X  g   Q h RRR4       \        R..^,          R	.R
7      p\         P                  ! XV4       R#   + '       g   i     L@; i)a  
One or more strings in the dta file could not be decoded using utf-8, and
so the fallback encoding of latin-1 is being used.  This can happen when a file
has been incorrectly encoded by Stata or some other software. You should verify
the string values returned are correct.r(   r)   r*   zstata1_encoding_118.dtaonce)filter_levelNu   Düsseldorfr;  r@   )	rF   r   UnicodeWarningr   r  messagerT  r   rG   )r6   r/   r   rJ   r  r=  rl   s   &&     r%   test_encoding_latin1_118"TestStata.test_encoding_latin1_118  s    + fg/HI''VLLPQ &Gq6Q;;Q4<<$$Q'3...	 M }o.4{mL
gx0 MLs   A	B44C	c           	     6   \         P                  ! V! R RRR4      R4      ;_uu_ 4       p\        V4      ;_uu_ 4       pVP                  4        VP                  R8X  g   Q h RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r(   r)   r*   zstata1_119.dta.gzr]  i  N)r^  rV  r   r  _nvar)r6   r/   r`  r}  s   &&  r%   test_stata_119TestStata.test_stata_119  sy    
 YYT67,?@$
 
RF##%||u,,, !
 
 !
 
 
s"   B$A4	"B4B?BB	c                d   \         P                  ! . RORR7      p\        . RO. RO. RO.. ROR	7      pWER
&   RRRRRRRRR
R/pRpR^R^R^R//pVR,          P                  \        P
                  4      VR&   \        VVVR.VRVVVR7	      p	V	P                  4        \        V4      p
VR,          P                  R4      VR&   VR,          P                  VR,          4      P                  R4      P                  P                  4       VR&   \        P                  ! WZ4       \        V4      ;_uu_ 4       pVP                   V8X  g   Q hVP#                  4       V8X  g   Q h RRR4       VP%                  W1RR7       \        V4      p\        P                  ! W\4       R#   + '       g   i     LF; i)r      β   ĉTr   r   N   Åstrlsr@   u	   ᴐᴬᵀr  u	   ᵈᵉᵊu   ᴎტჄႲႳႴႶႺzLong Stringsu   ᴅaᵀa-labellabelu   æøåu   ŋot valid latin-1F)r	  r@  r  rC   r  r=   r  r   )r=   rC   )r   r  r  )r   r   u   ᴬu   ᴀ relatively long ŝtring)r  r   u   ᴮr   )r   r   u   ᴰN)r  r  r  r  )ry   r{  r   rg   r[   r_   r   
write_filer   ry  replacer   r_  rF   rG   r   r	  r  rE   )r6   r=   r  rH   r   r)   r  r	  r  writerr?  r}  reread_to_statas   &&&&         r%   test_utf8_writerTestStata.test_utf8_writer  s    nn.=>#%
 0
  ['+,^
 &
q'1h;OPQ$Z&&rxx0T
 !!+%

 	#I.W,,R0W J|D1299*EIITTV 	T
 	d3##v$$
222))+>>> $ 	ieD$Y/
d4 $#s   5+FF/	c                   \        \        P                  ! R\        P                  R7      4      p\        P
                  ! \        RR7      ;_uu_ 4        \        W^uR7       RRR4       \        P
                  ! \        RR7      ;_uu_ 4        \        W^vR7       RRR4       R#   + '       g   i     LL; i  + '       g   i     R# ; i)r   rP   z"version must be either 118 or 119.r   r  NzYou must use version 119)r   i  )r   r[   zerosr]   r  r  r  r   )r6   rH   r{   s   && r%   test_writer_118_exceptions$TestStata.test_writer_118_exceptions  sv    rxx
"'':;]]:-QRRI37 S]]:-GHHI37 IH SRHHHs   B&B9&B6	9C
	dtype_backendnumpy_nullablepyarrow)marksc                   VR 8X  d   RMRp\        R\        P                  ! . ROVR7      R. ROR. ROR. ROR	\        P                  ! R
^RR7      /\        P                  ! . RORR7      R7      pVP                  VR7      pVR,          pVP                  V^vR7       VP                  V4       V P                  V4      p\        R^^\        P                  .R. RORR^ \        P                  .R. ROR	\        P                  ! R
^RRR7      /\        P                  ! \        ^4      RR7      R7      p\        P                  ! VP                  R4      V4       R# )r  Int64zint64[pyarrow]r   NrP   r   r   rd  rz  z
2020-12-31D)r  freqr-   r  r!  )r  ztest_stata.dtar  r   ms)r  r  r?   )r   r   N)r   r   r   )TFN)g      ?g      @g      @)r   r   r   )r   ry   r\   r  r  convert_dtypesrE   r8   r[   r   rz   rw   rF   rG   r  )	r6   r  rH   tmp_pathrQ   r{   
stata_pathr  rl   s	   &&&&     r%   test_read_write_ea_dtypes#TestStata.test_read_write_ea_dtypes
  s.   
 ),<<BRRXXl%8_(_R]]<E ((973	
 ]; 00

J,
I!%y!9aBFF^_c1bff%_R]]<4P --aw7

 	4>>wGRr$   c                h   \        R \        P                  ! R^d.\        P                  R7      R\        P                  ! RR.\        P                  R7      R\        P                  ! RR.\        P
                  R7      /4      p\        V! RRRR	V R
24      4      p\        P                  ! WC4       R# )byterP   r  i  rH  ir(   r)   r*   stata_int_validranges_r   Niii  	r   r[   r\   r]   r^   r_   r   rF   rG   r6   r=   r/   rl   r   s   &&&  r%   test_read_data_int_validranges(TestStata.test_read_data_int_validranges/      $BGG<rxxrxx@+z!:"((K
 T67.DWIT,RS
 	f/r$   c                h   \        R \        P                  ! R^~.\        P                  R7      R\        P                  ! RR.\        P                  R7      R\        P                  ! RR.\        P
                  R7      /4      p\        V! RRRR	V R
24      4      p\        P                  ! WC4       R# r  rP   r  i  rH  ir(   r)   r*   r  r   Nii i   r  r  s   &&&  r%   %test_read_data_int_validranges_compat/TestStata.test_read_data_int_validranges_compat>  r  r$   c                h   \        R \        P                  ! R^~.\        P                  R7      R\        P                  ! RR.\        P                  R7      R\        P                  ! RR.\        P                  R7      /4      p\        V! RRRR	V R
24      4      p\        P                  ! WC4       R# r  )r   r[   r\   r^   r_   r   rF   rG   r  s   &&&  r%   ,test_read_data_int_validranges_compat_nobyte6TestStata.test_read_data_int_validranges_compat_nobyteN  s    $BHH=rxxrxx@+z!:"((K
 T67.DWIT,RS
 	f/r$   r#   r   u   v   w   N)f   g   h   i   l   n   o   q   r  s   r  r  r  )
stata3_113
stata3_114
stata3_115
stata3_117)r  r  r  r  r  r  )r  r  r  r  r  )stata12_117stata12_be_117stata12_118stata12_be_118stata12_119stata12_be_119)stata14_118stata14_be_118stata14_119stata14_be_119)
stata5_113
stata5_114
stata5_115
stata5_117)
stata6_113
stata6_114
stata6_115
stata6_117)r  r  r  )r  r  r  r  r  )
stata1_117
stata2_117r  
stata4_117r  r  
stata7_117
stata8_117
stata9_117rs  r  )

stata2_115r  
stata4_115r  r  
stata7_115
stata8_115
stata9_115rr  r  )r  rC  weekrB  qtrhalfr<  )stata16_118stata16_be_118stata16_119stata16_be_119)r  r  N)r  r  r  r  r  r  )l__name__
__module____qualname____firstlineno__r8   r	   r  markparametrizerL   rm   r}   r   r   r   r   r   r   r  r  r  r&  r0  r8  r@  rL  r\  rb  rg  rv  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r"  r&  r)  rI  rQ  rZ  filterwarningsra  rf  rp  r  r  r  r  staticmethodr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r[   infr  r&  r/  r4  r:  rE  rL  rP  rZ  ra  rs  r{  r  r  r  r  slowr  r  r  paramrf  
skip_if_nor  r  r  r  __static_attributes____classdictcell__)r  s   @r%   r3   r3   <   s	    40 [[Y(BC3 D3 [[Y(BC!E D!EF [[Y(BC
H D
H [[T00:D4L [[H
0
0 [[Y(FG)0 H)0V [[Y(AB+0 C+0\ [[	

C
C [[	
&F&FPS
  [[Y(BC
 D
2
+ [[Y(BC7 D7S8 [[Y(BC$S D$SLS$ [[Y(BC[[HS DS  [[H00" [[Y(BC3 D3 [[Y(BC( D(@& [[Y(BC@ D@ 8
SS&S //S<S [[Y(BC[[[3*5!@ 6 D!@F0"$$"> [[Y80 90  [[Y(AB0 C0  [[Yc
30 40F
P54-^ [[Y(BC[[F.- D.-`) [[Y(BC- D-, [[Vm]%CD! E!F [[Vm]%CD8 E8  [[Vm]%CD	9 E	9 [[ 56[[	
  [[[1a&1[[3eT]C[[_udm<! = D 2! 7(!>  (36 [[ 56[[	
 [[[1a&1[[3eT]C[[_udm< ! = D 2 7& !D!  [[Y(BC. D.. [[Y(BCY DY [[Yc
3Y 4YM<.B$$>$,  C6 [[X'89	 :		* [[]T5M:
G ;
G* [[E((" [[[8U*;<K. =K.ZL H( [[Y(BC* D*"*  [[	
44"0* [[Y(BC8 D8 [[Y(BC# D#,$1( [[	- 	- [[Y(89[[[8U*;</5 = :/5b8 [[	6<<	y9QRSS	SB [[Y(FG0 H0 [[Y(AB0 C0 [[Yc
30 40r$   r3   r=   c                     V! R RR4      p\         P                  P                  VR4      p\         P                  P                  VRV  R24      p\        V4      p\        V4      p\        P
                  ! WeRR7       R# )	r(   r)   r*   stata-compat-118.dtastata-compat-r   Fr   Nr  rJ   r  r   rF   rG   r=   r/   	data_baserefoldrl   old_dtas   &&     r%   test_backward_compatr  ^  sd    vw/I
'',,y"8
9C
'',,yM'$"?
@C#HoG'?r$   c                    V! R RR4      p\         P                  P                  VR4      p\         P                  P                  VRV  R24      p\        VRR7      p\        VRR7      p\        P
                  ! WeRR7       R	# )
r(   r)   r*   r  r  r   Fr+   r   Nr  r  s   &&     r%   %test_backward_compat_nodateconversionr  h  sl     vw/I
'',,y"8
9C
'',,yM'$"?
@C#U3HE2G'?r$   c                     V! R RRR4      pV! R RRRV  R24      p\        VRR7      pVP                  R.R	7      p\        VRR7      p\        P                  ! WTRR
7       R# )r(   r)   r*   r  r  r   Fr+   s10r@   r   N)r   droprF   rG   )r=   r/   r  r  rl   r  s   &&    r%   test_backward_compat_nostringr#  t  sh     4*@
AC
4M'$*G
HC#U3H}}eW}-HE2G'?r$   c                     V! R RRRV  R24      pV! R RRRV  R24      p\        V4      p\        V4      p\        P                  ! WT4       R# )r(   r)   r*   r  r   stata-compat-be-Nr   rF   rG   r=   r/   r  r=  rl   big_dtas   &&    r%   test_bigendianr)    sU    
4M'$*G
HC
4,<WIT*J
KC#HoG',r$   c                     V! R RRRV  R24      pV! R RRRV  R24      p\        VRR7      p\        VRR7      p\        P                  ! WT4       R# )	r(   r)   r*   r  r   r%  Fr+   Nr&  r'  s   &&    r%   test_bigendian_nodateconversionr+    s]     4M'$*G
HC
4,<WIT*J
KC#U3HE2G',r$   c                    V ! R RRR4      p\        V4      ;_uu_ 4       pVP                  4       P                  '       d   Q h\        VP                  \
        P                  4      '       d   Q h RRR4       \        VR4      ;_uu_ 4       p\        V4      ;_uu_ 4       pVP                  4       P                  '       d   Q hVP                  VJ g   Q h RRR4       RRR4       \        VR4      ;_uu_ 4       p\
        P                  ! VP                  4       4      ;_uu_ 4       p\        V4      ;_uu_ 4       pVP                  4       P                  '       d   Q hVP                  VJ g   Q h RRR4       RRR4       RRR4       R#   + '       g   i     EL$; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L\; i  + '       g   i     Lg; i  + '       g   i     R# ; i)r(   r)   r*   r  Nr]  )r   r  emptyrx   _path_or_bufr(   rT  rV  )r/   monkeypatch	file_pathr}  fprX  s   &&    r%   test_direct_readr2    s_   vw0FGI 
Y		6;;=&&&&&f112::>>>>> 
  
i		"__{{}*****&&",,,  
 
i		"ZZ	""cS!!V!;;=.....**c111 " # 
	 
 		 _ 
	 "! #" 
		sl   AF
F15F	F19-G*&G	:5G0G	8G*
F	F.)F11G	GG	G'"G**G;	use_dictTFinferc                 d   R pV '       d    V'       d   T pMW@,          pVRV 2,          pT pV'       d   RpV'       d   RV /p\        \        P                  P                  ^4      P	                  R4      \        R4      R7      p	RV	P                  n        WV,          p
V
P                  4        V	P                  WVR7       V R8X  dO   \        P                  ! V
R	4      ;_uu_ 4       p\        P                  ! VP                  4       4      pR
R
R
4       EMV R8X  da   \        P                   ! V
R4      ;_uu_ 4       p\        P                  ! VP                  VP"                  ^ ,          4      4      pR
R
R
4       EMV R8X  dr   \$        P                  ! V
4      ;_uu_ 4       p\        P                  ! VP'                  VP)                  4       ^ ,          4      P                  4       4      pR
R
R
4       EM$V R8X  dN   \*        P                  ! V
R	4      ;_uu_ 4       p\        P                  ! VP                  4       4      pR
R
R
4       MV R8X  d_   \,        P.                  ! R4      pVP                  V
R	4      ;_uu_ 4       p\        P                  ! VP                  4       4      pR
R
R
4       MkV R8X  d_   \,        P.                  ! R4      pVP                  V
R	4      ;_uu_ 4       p\        P                  ! VP                  4       4      pR
R
R
4       MV f   T
p\1        XRR7      pT	p\2        P4                  ! VV4       R
#   + '       g   i     L8; i  + '       g   i     LK; i  + '       g   i     L^; i  + '       g   i     Lq; i  + '       g   i     L; i  + '       g   i     L; i)zdta_inferred_compression.dtar  r4  methodr)  r@   r-   )r=   compressionr^  r]  Nr  rtarbz2zstd	zstandardxzlzmar2  r*  )r   r[   r,  r-  r.  r/  r-   r.   touchrE   r^  rV  r(   rT  r  zipfileZipFilefilelisttarfileextractfilegetnamesr:  r  importorskipr   rF   rG   )r7  r=   r3  r4  compression_to_extensionr  	file_namefile_extcompression_argr{   rJ   compr1  r9  r;  r>  r  rl   s   &&&&&&            r%   test_compressionrL    s    /I"H/<Hq
^#	!O!#[1	
		a 0094:
B BHHMDJJLKK?KCfYYtT""dDIIK(B #"		__T3''4DIIdmmA&678B ('		\\$3COOCLLN1,=>CCEFB  		XXdD!!TDIIK(B "!		"";/YYtT""dDIIK(B #"		""6*YYtT""dDIIK(B #"		g.FH&(+1 #" ('   "! #" #"sI   &%M ;7M!A	M&%M9?%N$%N M	M#	&M6	9N		N	N/	r6  r  rI  c                    R V 2pRp\        \        P                  P                  ^4      P	                  R4      \        R4      R7      pRVP                  n        RV RV/pW#,          pVP                  4        VP                  WvR7       V R8X  g   VR8X  d   \        P                  ! VR	4      ;_uu_ 4       p\        VP                  4      ^8X  g   Q hVP                  ^ ,          P                  V8X  g   Q h\        P                   ! VP#                  VP                  ^ ,          4      4      p	R
R
R
4       MTp	\%        X	RR7      p
Tp\&        P(                  ! W4       R
#   + '       g   i     L7; i)test.ztest.dtar)  r@   r-   r6  archive_namer7  r  r8  Nr2  r*  )r   r[   r,  r-  r.  r/  r-   r.   r?  rE   r@  rA  r  rB  filenamer(   rT  r  r   rF   rG   )r6  rI  r  rH  rO  r{   r7  rJ   zpr1  r  rl   s   &&&         r%   test_compression_dictrS    s&    z"IL	
		a 0094:
B BHHMV^\BKDJJLKKK.(e+__T3''2r{{#q(((;;q>**l:::BGGBKKN34B ('
 g.FH&+ ('s   8A7E!!E1	c                    \        R \        . R	ORR7      /4      pRVP                  n        VP	                  4       pVP                  WR7       \        V^RR7      ;_uu_ 4       p\        V4       Fz  w  rVVP                  R4      pR V9   g   Q h\        P                  ! VP                  VP                  P                  ^V,          ^V^,           ,           \        V4      ^8  R7       K|  	  RRR4       R#   + '       g   i     R# ; i)
catsr   rP   r-   r  F)r  r  rp   N)r   r   r   r   r   )r   r   r-   r.   r   rE   r   	enumerater  rF   rh   rU  r  r  )r=   rH   r{   rl   r}  r  blocks   &&     r%   test_chunked_categoricalrX    s    	FF#<JOP	QBBHHMwwyHKK	K+	Y!	F	F&!&)HAOOG,EU?"?""

""1q51A;7!$Ua * 
G	F	F	Fs   $B
C88D		c                    V ! R RRR4      p. ROpRp\        V^R7      ;_uu_ 4       p\        P                  ! \        VR	7      ;_uu_ 4        \	        V4       F  w  rV\        VP                  4      V^V,          ^V^,           ,           8X  g   Q hV^8  d   \        P                  ! RR.4      pM\        P                  ! R.R
R7      p\        P                  ! VP                  P                  P                  V4       K  	  RRR4       RRR4       \        P                  ! \        VR	7      ;_uu_ 4        \        V^R7      ;_uu_ 4       pVP                  4       pRRR4       RRR4       \        V4      p	\        P                  ! V	X4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     Lb; i  + '       g   i     Lm; i)r(   r)   r*   stata-dta-partially-labeled.dtar   r   r   z.series with value labels are not fully labeledr  r   rf   rP   N)r   r   r   r   r   )r   rF   r   r
   rV  r/  rU  ry   r  r  r   r   __next__r   rG   )
r/   dta_filern  r   r}  r  rW  idxlarge_chunkr  s
   &         r%    test_chunked_categorical_partialr_  	  sM   fg/PQH&F
:C	X	+	+v''(DCPP%f-EJJ'6!a%!q1u++FFFFq5((C:.C((C5	:C%%ejjnn&?&?E . Q 
, 
	#	#$@	L	LQ//6 //+K 0 
M !F&+. QP 
,	+ 0/ 
M	LsH   %F%B7F	F%7GF8	GF"F%%F5	8GGG	r  c           	          V ! R RRR4      p\         P                  ! \        RR7      ;_uu_ 4        \        W!R7      ;_uu_ 4         RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r(   r)   r*   rZ  zchunksize must be a positiver   r  N)r  r  r  r   )r/   r  r\  s   && r%   test_iterator_errorsra  $	  sU    fg/PQH	z)G	H	H77 8 
I	H77 
I	H	Hs#   A,A	A,A)$A,,A=	c                    R R.R.R,          ,           p\        \        ^4       Uu/ uF  pRV 2\        P                  ! VRR7      bK!  	  up4      pVP	                  V RR7       \        P
                  ! . RO4      p\        V ^dR	7      ;_uu_ 4       p\        V4       F  w  rg\        ^4       F?  p\        P                  ! VP                  P                  V,          P                  V4       KA  	  \        P                  ! WsP                  V^d,          V^,           ^d,           4       K  	  R
R
R
4       R
# u upi   + '       g   i     R
# ; i)c_labelb_labela_labelr  r   Tr   Fr4  r  N)re  rd  rc  )r   rw   ry   r{  rE   r  r   rV  rF   r  ri   r  r   rG   )	rH   rn  r  r{   rl   r}  r   r  r  s	   &        r%   test_iterator_value_labelsrf  ,	  s    #ykC&77F	USTXVXc!Ir~~fdCCXV	WBKK	uK-xx9:H	I	-	-!&)HA1X%%ell&7&7&:&E&ExP !!%SAES=)IJ * 
.	- W 
.	-	-s   %D7BD<<E	c           	         \        \        R  \        ^<4       4       4      \        R \        ^44       4       4      ..RR.R7      p\        P                  ! \
        RR7      ;_uu_ 4        VP                  V RR7       R	R	R	4       \        V 4      p\        \        P                  \        P                  .RR.R
7      p\        P                  ! VP                  V4       VP                  R,          VP                  R,          8X  g   Q hVP                  R,          \        VP                  R,          4      8X  g   Q hR	#   + '       g   i     L; i)c              3   4   "   T F  p^V,          x  K  	  R# 5ir   Nr#   .0r  s   & r%   	<genexpr>&test_precision_loss.<locals>.<genexpr>;	  s     &IqaddI   c              3   4   "   T F  p^V,          x  K  	  R# 5iri  r#   rj  s   & r%   rl  rm  ;	  s     +D)QAqDD)rn  r=  r<  r@   z&Column converted from int64 to float64r   Fr4  Nr!  )r   r<  )r   r=  )r   sumrw   rF   r   r   rE   r   r   r[   rf   rh   ri   r6  float)rH   r{   r  expected_dts   &   r%   test_precision_lossrs  9	  s    	
&E"I&
&+D%)+D(D	EF!
B 
	#	#%M
 
 	I51
 	"F"**bjj1%9JKK6==+6::k"bff[&9999::h5)9#::::
 
s   )D??E	c                    \        . R	O. R
O.RR.. ROR7      pRVP                  n        VP                  WR7       \	        WRR7      p\
        P                  ! W#4       \
        P                  ! W4      ;_uu_ 4       p\        P                  ! VP                  4       4      pRRR4       \	        XRR7      p\
        P                  ! W#4       R#   + '       g   i     L5; i)翶~Ϛ?r)  r*  r  r-   rP  r7  r3  Nr2  ru  g9DܜJ?g>D)?g.4i(@g33333@g̤AXYZ)r   r-   r.   rE   r   rF   rG   decompress_filer(   rT  r  )r7  rH   r{   r  fhcontentss   &&    r%   test_compression_roundtripr  I	  s    		')GHCj
B
 BHHMKK	K3	gNF"% 
		I	3	3r::bggi( 
4G4F"% 
4	3s   =%CC	to_infer
read_inferc                 @   T pW5,          pR V 2p\        . R	O. R
O.RR.. ROR7      pRVP                  n        V'       d   RMTp	V'       d   RMTp
WG,          pVP                  4        VP	                  WR7       \        WRR7      p\        P                  ! W4       R# )rN  r)  r*  r  r-   r4  rP  rv  Nrw  rx  ry  )r   r-   r.   r?  rE   r   rF   rG   )compression_onlyr  r  rG  r  r7  extrQ  r{   to_compressionread_compressionrJ   r>  s   &&&&&        r%   test_stata_compressionr  \	  s    
 #K
"
/Cse}H		')GHCj
B
 BHHM (WkN",w+DJJLKKK1gNF&%r$   c                    \        R . RORRR\        P                  R\        P                  .R. ROR\        P                  ! . RO4      /4      pT pR ^R
^R^R/RRR
RR//p/ VCR^ R^R^R	//Cp\        W!VR7      pVP                  4        \        V4      ;_uu_ 4       pVP                  4       pWt8X  g   Q h RRR4       RpR^R^R//p\        P                  ! \        VR7      ;_uu_ 4        \        W!VR7       RRR4       RpR^R^R^R^R//p\        P                  ! \        VR7      ;_uu_ 4        \        W!VR7       RRR4       R#   + '       g   i     L; i  + '       g   i     Lm; i  + '       g   i     R# ; i)fully_labelledpartially_labelledr   r  g      "@r{  r|  r   r  r  r   r   r   r  NzCCan't create value labels for notY, it wasn't found in the dataset.notYr  r  r   zUCan't create value labels for Z, value labels can only be applied to numeric columns.r   r  )r   r   r   r   r   )   r  r7     r+  )r   r  r  r  r   )r   r[   r   ry   r{  r   r  r   r  r  r  r  r  )	rH   r)   rJ   r  rl   r  r}  reader_value_labelsr   s	   &        r%   !test_non_categorical_value_labelsr  w	  sy   o 3RVVS"&&"A! 9:		
D D1eQq':sE36L ?,>aaa%=>H,?F
	T		f$113"... 
 PCQ!X67L	xs	+	+D\: 
,	2  !S!S!S!S9:L	z	-	-D\: 
.	- 
	 
,	+ 
.	-	-s$   E/E"7E5E	"E2	5F	c                    \        R . ROR. ROR. ROR. ROR. RO/4      pR ^R^R/R^R^R/R^R^	R/R^R/R^R	//pR
^R^R/R^R^R/R^R^	R/R^R/R^R	//pRp\        P                  ! \        VR7      ;_uu_ 4        VP	                  WR7       RRR4       \        V 4      ;_uu_ 4       pVP                  4       pWc8X  g   Q h RRR4       R#   + '       g   i     LG; i  + '       g   i     R# ; i)z	invalid~!	6_invalid&invalid_name_longer_than_32_characters	aggregater  r  r   r   r   r   	invalid__
_6_invalid invalid_name_longer_than_32_char
_aggregate_1__2_rC  r   r  N)r   r   r   r   r5  r  )r  r  r7  r7  r  r  )r   r5  r5  rP  rP  r7  )r   r   rO  )r   rF   r   r   rE   r   r  )rH   r)   r  rl   r   r}  r  s   &      r%   0test_non_categorical_value_label_name_conversionr  	  s1   ++46H+&	
D 	a1h/a1h/01gq&2Ia[GL 	a1h/q(Ax0*QF,Cq&k1g,H HC		#	#$5S	A	Ai; 
B 
Y		6$113"... 
 	 
B	A 
 		s   >C,C#C 	#C4	c                    R ^
R^R^(R//p\        R . RO/4      pVP                  WR7       \        V RR7      ;_uu_ 4       pVP                  4       pRRR4       XV8X  g   Q hR pRRP	                  R.4      ,           pRV R	V R2p\
        P                  ! \        VR
7      ;_uu_ 4        \        V RR7       RRR4       R#   + '       g   i     Ly; i  + '       g   i     R# ; i)repeated_labelsTenzMore than tenr  Fr  N
z
Value labels for column a    are not unique. These cannot be converted to
pandas categoricals.

Either read the file with `convert_categoricals` set to False or use the
low level interface in `StataReader` to separately read the values and the
value_labels.

The repeated labels are:
r   T)r+  r+     r  (   r  zQ--------------------------------------------------------------------------------
)	r   rE   r   r  r  r  r  r  r   )rH   r  r)   r}  r  r   repeatsr   s   &       r%   ;test_non_categorical_value_label_convert_categoricals_errorr  	  s     	Br?BPL 7	
D 	MM)M7	YU	;	;v$113 
<,...
C		?*; <<G  		 

C 
z	-	-948 
.	-% 
<	;$ 
.	-	-s   C+CC	C'	rQ   c                     \        R \        . RO4      R\        ^\        P                  \        P                  .V P                  R7      R\        . RO4      /4      pVP
                  P                  P                  P                  pVP                  RR4      pVR8X  d   RpM	VR	8X  d   R
p\        P                  V,          p\        V4      p\        ^Wf.\        RR7      p\        . RORR7      pVP                  VRVR7       \        VRR7      p	\        P                  ! VP                   V	P                   4       \        P                  ! V	P
                  V4       \        P                  ! V	P"                  V4       R# )r   r   rP   r   Nur   r`   r_   boolr]   r  r  FrB   Tr  r  )r   r   N)r   r   r   )r   r   ry   NAr.   r   rQ   numpy_dtyper  r   BASE_MISSING_VALUESr  rE   r   rF   rh   r   r   )
rQ   r=   rH   r{   
dtype_namevaluer  
expected_b
expected_cr  s
   &&&       r%   test_nullable_supportr  	  s$     
(BEE255)<()	

B '',,J##C,JW
	v	
11*=E
E
"CCV#>JS1JKK	ugK>	48F244*688Z0688Z0r$   c                    \        R \        ^4      R. R	O/R7      P                  ^ 4      pT pVP                  VR^uR7       \	        V4      pRV9   g   Q h\        R \        P                  ! R4      R\        P                  ! R4      /4      p\        P                  ! VP                  V4       \	        VR .R7      pRV9  g   Q h\        P                  ! VP                  VP                  R .,          4       R# )
r   r   r-  FrB   r_   rf   r@   Nr  )r   rw   r  rE   r   r   r[   rQ   rF   rh   ri   r6  )rH   r{   rJ   df2ri   df3s   &     r%   test_empty_framer  
  s     
eAh_=	>	C	CA	FBDKK%K5
T
C#::S"((7+S"((92EFGF3::v.
TC5
)Cc>>3::vzz3%'89r$   c                 ^   R p\        \        P                  ! V4      R.R7      p\        P                  ! \
        P                  .^,          !   Uu. uF  pRP                  V4      NK  	  ppR\        V4       Uu/ uF  qfWV,          bK  	  up/pVP                  WVR7       R# u upi u upi )i  r   r@   r   )r  r=   N)
r   r[   r  	itertoolsproductr  ascii_lettersr  rw   rE   )rH   r=   ro  r{   r  lblsr  r  s   &&      r%   test_many_strlr  "
  s    A	299Q<%	1B ) 1 1V5I5I4JQ4N PQ P1BGGAJ PDQa91twJ9:LKK	gKF R9s   B%;B*c                 z    \        R RR^ /R RR^/R \        P                  R^/.4      pVP                  WR7       R# )str1rw  Nr  rx  )r   ry   r  rE   )rH   r=   r{   s   && r%   test_strl_missingsr  +
  sK     
^Xq1T8Q'RUUHa(	

B KK	K+r$   c                     \        R R./4      pVP                  V ^ VR7       \        V 4      p\        P                  ! W#4       R# )doubleByteColrB   Nu  §§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§rD   )rH   r=   r{   df_inputs   &&  r%   test_ascii_errorr  9
  s?     
Ok]3	4BKK	q'K:)$H"'r$   )r  r  r  r  r  r  )r  r  r  r  r  r  r  r  )NrY  r  )r  r   r  )r  r  r  N)Or:  r   r  r^  r(   r  r  r  r  rC  r@  numpyr[   r  pandas.errorsr   pandas.util._test_decoratorsutil_test_decoratorsrf  r  ry   r   pandas._testing_testingrF   pandas.core.framer   r   pandas.io.parsersr	   pandas.io.statar
   r   r   r   r   r   r   r   r   fixturer&   r1   r3   r
  r  r  r  r#  r)  r+  r2  rL  rS  rX  r_  ra  rf  rs  r  r  r  r  r  BooleanDtype	Int8Dtype
Int16Dtype
Int32Dtype
Int64Dtype
UInt8DtypeUInt16DtypeUInt32DtypeUInt64Dtyper  r  r  r  r  r#   r$   r%   <module>r     s   
    	  	       ( ) )  # 
 '
 
 
    _ 0 _ 0DA $BC@ D@ S#J/@ 0@ SE*	@ +	@ $GH- I- S#J/- 0-2. $>?dE]34-00, 1 4 @0,f E7#34%9:, ; 5,0 $>? @$/( &67 8
K; && dE]3e}5& 6 4&2#;L"/J"9J $>?









1 @14:$ $>?G @G $9:
, ;
, $9:( ;(r$   