
    .i6                     B   d dl Zd dlZd dlmZmZmZmZ d dlm	Z
 ej                  d        Zej                  d        Zd Zd Zd Zd Zd	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d Z"d Z#d Z$d Z%ejL                  jO                  d ejP                  ddg d id!"       ejP                  d#dg d$id%"       ejP                  d&dg d'id("       ejP                  d dg d)id*"       ejP                  d+dg d,id-"       ejP                  d.dg d/id0"      g      d1        Z)d2 Z*d3 Z+ejL                  jO                  d ejP                  d4g d5g d6d7d!"       ejP                  d g d)g d8d7d*"       ejP                  d+g d,g d9d7d:"       ejP                  d#d;d<g d=g d>d7d?"       ejP                  dd+d<g d,g d@d7dA"       ejP                  d.d&d+gd<dBdCd&d+ggg dDd7dE"      g      dF        Z,dG Z-dH Z.dI Z/dJ Z0dK Z1y)L    N)	DataFrameSeriesfrom_dummiesget_dummiesc                  8    t        g dg dg dg dg dd      S )N   r   r	   r   r	   r   r	   r   r   r   r   r	   col1_acol1_bcol2_acol2_bcol2_cr        d/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/reshape/test_from_dummies.pydummies_basicr      #    	
 r   c                  8    t        g dg dg dg dg dd      S )Nr   r
   r   r   r   r   r   r   r   r   r   dummies_with_unassignedr      r   r   c                      g d} t        j                  t        d      5  t        |        d d d        y # 1 sw Y   y xY w)Nr
   zBExpected 'data' to be a 'DataFrame'; Received 'data' of type: listmatchpytestraises	TypeErrorr   dummiess    r   test_error_wrong_data_typer%   '   s8    G	S
  	W	  s   5>c                      t        g dg dd      } t        j                  t        d      5  t	        |        d d d        y # 1 sw Y   y xY w)Nr   r
   abHDummy DataFrame contains unassigned value\(s\); First instance in row: 2r   r   r    r!   
ValueErrorr   r#   s    r   (test_error_no_prefix_contains_unassignedr-   0   D    ii89G	(
  	W     AAc                      t        g dg dd      } t        j                  t        d      5  t	        | ddg       d d d        y # 1 sw Y   y xY w)	Nr   r   r	   r	   r'   rExpected 'default_category' to be of type 'None', 'Hashable', or 'dict'; Received 'default_category' of type: listr   cddefault_categoryr   r    r!   r"   r   r#   s    r   0test_error_no_prefix_wrong_default_category_typer8   <   sJ    ii89G	9
 ; 	WSz:; ; ;s   AAc                      t        g dg dd      } t        j                  t        d      5  t	        |        d d d        y # 1 sw Y   y xY w)Nr   r1   r'   zHDummy DataFrame contains multi-assignment\(s\); First instance in row: 2r   r+   r#   s    r   %test_error_no_prefix_multi_assignmentr:   H   r.   r/   c                      t        g dddt        j                  gd      } t        j                  t
        d      5  t        |        d d d        y # 1 sw Y   y xY w)Nr   r   r	   r'   z0Dummy DataFrame contains NA value in column: 'b'r   )r   npnanr    r!   r,   r   r#   s    r   !test_error_no_prefix_contains_nanr>   T   sL    iq!RVVn=>G	M
  	W  s   AAc                      t        g dg dg dd      } t        j                  t        d      5  t	        |        d d d        y # 1 sw Y   y xY w)N)r	         r	   )r   r	   r      )c1c2c3c4r(   r)   r3   (Passed DataFrame contains non-dummy datar   r7   r#   s    r   test_error_contains_non_dummiesrI   \   sJ    4LMG 
9
  	W	  s   AAc                      t        g dg dg dg dd      } t        j                  t        d      5  t	        | d       d d d        y # 1 sw Y   y xY w)Nr   r
   )r   r   zcol2-azcol2-bz*Separator not specified for column: col2-ar   _sepr+   r#   s    r   *test_error_with_prefix_multiple_separatorsrN   g   sR    		
G 
<
 ' 	W#&	' ' 's   AAc                     t        j                  t        d      5  t        | dg       d d d        y # 1 sw Y   y xY w)NzJExpected 'sep' to be of type 'str' or 'None'; Received 'sep' of type: listr   rK   rL   r   r   s    r   %test_error_with_prefix_sep_wrong_typerQ   w   s9    	,
 / 	]./ / /s   4=c                 ~    t        j                  t        d      5  t        | d       d d d        y # 1 sw Y   y xY w)Nr*   r   rK   rL   r    r!   r,   r   r   s    r   *test_error_with_prefix_contains_unassignedrU      s8    	(
 7 	,#67 7 7s   3<c                     t        j                  t        d      5  t        | dddg       d d d        y # 1 sw Y   y xY w)Nr2   r   rK   xyrM   r6   r   rT   s    r   2test_error_with_prefix_default_category_wrong_typerZ      sB    	9
 T 	,#c
ST T T   6?c                     t        j                  t        d      5  t        | dddi       d d d        y # 1 sw Y   y xY w)Nz^Length of 'default_category' \(1\) did not match the length of the columns being encoded \(2\)r   rK   col1rW   rY   rS   rT   s    r   9test_error_with_prefix_default_category_dict_not_completer^      sE     
=
 W 	,#QTVW W Wr[   c                     | d   j                  d      | d<   t        j                  | j                  d<   t	        j
                  t        d      5  t        | d       d d d        y # 1 sw Y   y xY w)Nr   float64rB   r   z5Dummy DataFrame contains NA value in column: 'col2_c'r   rK   rL   )astyper<   r=   locr    r!   r,   r   rP   s    r   #test_error_with_prefix_contains_nanrd      sc    +H5<<YGM(%'VVMk"	R
 - 	],- - -s   A''A0c                     | d   j                  t              | d<   d| j                  d<   t        j                  t
        d      5  t        | d       d d d        y # 1 sw Y   y xY w)Nr   strra   rH   r   rK   rL   )rb   objectrc   r    r!   r"   r   rP   s    r   +test_error_with_prefix_contains_non_dummiesrh      sZ    +H5<<VDM(%*Mk"	y(S	T -],- - -s   AA&c                      t        g dg dg dg dg dd      } t        j                  t        d      5  t	        | d	
       d d d        y # 1 sw Y   y xY w)Nr   )r	   r	   r   r
   r   r   r   zHDummy DataFrame contains multi-assignment\(s\); First instance in row: 0r   rK   rL   r+   r#   s    r   (test_error_with_prefix_double_assignmentrj      sW    	
G 
(
 ' 	W#&' ' 's   AAc                      t        g d      } t        |       }t        |      }t        dg di      }t	        j
                  ||       y )Nr(   r)   r3   r(    )r   r   r   r   tmassert_frame_equal
categoriesr$   resultexpecteds       r   "test_roundtrip_series_to_dataframert      sA    ,-J*%G'"F"234H&(+r   c                      t        dg di      } t        |       }t        |d      }| }t        j                  ||       y )Nrm   rl   rK   rL   r   r   r   rn   ro   rp   s       r   &test_roundtrip_single_column_dataframerw      s=    B 456J*%G's+FH&(+r   c                      t        g dg dd      } t        |       }t        |d      }| }t        j                  ||       y N)r(   r)   r(   )r)   r(   r3   r]   col2rK   rL   rv   rp   s       r   test_roundtrip_with_prefixesr|      s<    O_MNJ*%G's+FH&(+r   c                      t        g dg dg dd      } t        dg di      }t        |       }t        j                  ||       y )Nr	   r   r   r	   r   r	   r   r   r   r   r	   r   rG   rm   rl   r   r   rn   ro   r$   rs   rr   s      r    test_no_prefix_string_cats_basicr      s=    lLQRG"234H'"F&(+r   c                      t        g dg dg dd      } t        dg di      }t        |       }t        j                  ||       y )N)TFFTFTFF)FFTFrG   rm   rl   r   r   s      r   ,test_no_prefix_string_cats_basic_bool_valuesr      sF    +,,	
G "234H'"F&(+r   c                      t        g dg dg dd      } t        dg di      }t        |       }t        j                  ||       y )Nr~   r   r   rG   rm   rl   r   r   s      r   2test_no_prefix_string_cats_basic_mixed_bool_valuesr      sC    !<<PG "234H'"F&(+r   c                      t        g dg dg dg dd      } t        dg di      }t        |       }t        j                  ||       y )Nr	   r   r   r   r   r   r   r   r   r	   )r	      rB      rm   r   r   s      r   test_no_prefix_int_cats_basicr      sC    l|MG "m,-H'"F&(+r   c                      t        g dg dg dg dd      } t        dg di      }t        |       }t        j                  ||       y )Nr   r   r   r   )g      ?g      9@      @g\(\@rm   r   r   s      r   test_no_prefix_float_cats_basicr   	  sD    ,\VG "456H'"F&(+r   c                      t        g dg dg dg dg dd      } t        dg did	      }t        |       }t        j                  ||       y )
N)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	   )gGz?r3   rB   FNrm   rg   dtyper   r   s      r   test_no_prefix_mixed_cats_basicr     sN    ! "!	
G "9:(KH'"F&(+r   c                      t        g dg dg dd      } t        dg di      }t        |       }t        j                  ||       y )Nr   r
   r   r(   r)   NaNrm   r   r   s      r   :test_no_prefix_string_cats_contains_get_dummies_NaN_columnr   !  s=    ii	JKG"/01H'"F&(+r   zdefault_category, expectedr3   rm   rG   zdefault_category is a str)idr	   )r(   r)   r	   zdefault_category is an int      ?)r(   r)   r   zdefault_category is a float)r(   r)   r   zdefault_category is a 0F)r(   r)   Fzdefault_category is a boolr	   rB   )r(   r)   r   zdefault_category is a tuplec                     t        g dg dd      }t        ||       }t        ||j                  j                        }t	        j
                  ||       y )Nr   r
   r'   r5   r   )r   r   columnsr   rn   ro   )r6   rs   using_infer_stringr$   rr   s        r   +test_no_prefix_string_cats_default_categoryr   (  sG    L ii89G'4DEF)>)>?H&(+r   c                 n    t        g dg dd      }t        | d      }t        j                  ||       y ry   r   )r   rs   rr   s      r   test_with_prefix_basicr   T  s-    /?KLH-S1F&(+r   c            
          t        g dg dg dg dg dg dg dd      } t        g dg dd      }t        | d	
      }t        j                  ||       y )Nr   r
   r   r   )r   r   col1_NaNr   r   r   col2_NaNr   )r   r(   r3   rz   rK   rL   r   r   s      r   0test_with_prefix_contains_get_dummies_NaN_columnr   Z  sU    !!	

G "3=NOPH's+F&(+r   rW   )r(   r)   rW   )rW   r(   r3   rz   )r   r(   r3   )Fr(   r3   zdefault_category is a Falser   )r{   r]   )r(   r)   r   )r	   r(   r3   z4default_category is a dict with int and float values)Nr(   r3   z4default_category is a dict with bool and None valuesr(   r)   )r   r(   r3   z5default_category is a dict with list and tuple valuesc                     t        | d|      }t        |      }|r|j                  d      }t        j                  ||       y )NrK   rY   rf   )r   r   rb   rn   ro   )r   r6   rs   r   rr   s        r   !test_with_prefix_default_categoryr   k  sD    L S;KF "H??5)&(+r   c                      t        g dg dg dd      } | j                  j                  d      | _        t        |       }t        dt	        t        d      d      i      }t        j                  ||       y )	Nr~   r   r   rG   string[python]rm   abcar   r   r   rb   r   r   listrn   ro   dfrr   rs   s      r   test_ea_categoriesr     s_    	L|L	MB""#34BJ"F"fT&\9IJKLH&(+r   c                  l   t        g dg dg dg dg dd      } | j                  j                  d      | _        t        | d      }t        t	        t        d	      d
      t	        t        d      d
      d      }|j                  j                  d      |_        t        j                  ||       y )Nr   r
   r   r   r   r   rK   rL   abar   bacrz   r   r   s      r   test_ea_categories_with_sepr     s    		

B ""#34BJ"#&F4;.>?4;.>?	
H  ''../?@H&(+r   c                      t        g dg dg ddt        d            } t        |       }t        dt        d      it        d            }t        j                  ||       y )	Nr~   r   r   rG   abcd)indexrm   r   )r   r   r   rn   ro   r   s      r   test_maintain_original_indexr     sQ    	LAf
B "F"d6l+4<@H&(+r   c                      t        g dg dd      } t        j                  t        d      5  t	        | d       d d d        y # 1 sw Y   y xY w)Nr   r
   )rA      z)Trying to coerce float values to integersr   g      ?r5   r+   )r   s    r   #test_int_columns_with_float_defaultr     sG    		

B 
z)T	U /R#./ / /s   AAc                      t        g dg dd      } | j                  j                  d      | _        t        | d      }t        dg did	      }t	        j
                  ||       y )
Nr   r
   )rW   rX   rg   zr5   rm   )rW   rX   r   r   )r   r   rb   r   rn   ro   r   s      r   test_object_dtype_preservedr     s^     
	

B ""8,BJ"s3F"o.h?H&(+r   )2numpyr<   r    pandasr   r   r   r   pandas._testing_testingrn   fixturer   r   r%   r-   r8   r:   r>   rI   rN   rQ   rU   rZ   r^   rd   rh   rj   rt   rw   r|   r   r   r   r   r   r   r   markparametrizeparamr   r   r   r   r   r   r   r   r   r   r   r   <module>r      s       	 	 	 			;	' /7T
W--'(,,,,
,,,,,,  !*	

 	+	

 	!",	

 	(	

 	"#+	

 	#$,	
5"F,G"F,,,"  $o>*	

 	"M:(	

 	&0AB,	

 	$$m<E	

 	5)&0@AE	

 	dE]33u.8JKF	
5"F	,G"F	,,,.,	/,r   