
    o[weH                     r    d dl Zd dlZd dlmc mZ d dlmZm	Z	m
Z
mZmZmZmZ d dlmZ  G d d          ZdS )    N)	DataFrameDatetimeIndexIntervalIndexSeries	Timestamp
date_rangetimedelta_rangec                       e Zd Zd Zd Zd Zd Zd Zej	        
                    dddg          d	             Zd
 Zd Zd Zej        d             Zej        d             Zd Zd ZdS )TestTransposec                 P   t          dd          }t          j        |                              dt          j                  t                    }|j        }t          fdt          t                              D                       }t          j        ||           d S )Nz0 Daysz3 Daysc                 ,    i | ]}|||d z            S )    ).0iiis     Ilib/python3.11/site-packages/pandas/tests/frame/methods/test_transpose.py
<dictcomp>z?TestTranspose.test_transpose_td64_intervals.<locals>.<dictcomp>   s'    GGG1aAAIGGG    )r	   r   from_breaksinsertnpnanr   Trangelentmassert_frame_equal)selftdidfresultexpectedr   s        @r   test_transpose_td64_intervalsz+TestTranspose.test_transpose_td64_intervals   s    h11&s++YYr26""r]]GGGGc"ggGGGHH
fh/////r   c                 *   t          t          g                     }t          g dd           }|j                                        j        }|                    d          j        }t          j        ||           t          j        ||           d S )Nindexzdatetime64[ns])dtypefreqr   )axis)r   r   r   sumr(   r   assert_index_equal)r    r"   r$   result1result2s        r   ,test_transpose_empty_preserves_datetimeindexz:TestTranspose.test_transpose_empty_preserves_datetimeindex   s    ]2../// +;$GGG$((**"&&a&..&
gx000
gx00000r   c                     t          ddd          }t          |          }|j        |j        k                                    sJ |j        }|j        |j        k                                    sJ d S )N2016-04-05 04:30   UTCperiodstzr   r   dtypesr)   allr   )r    dtir"   ress       r   %test_transpose_tzaware_1col_single_tzz3TestTranspose.test_transpose_tzaware_1col_single_tz*   sq    +Q5AAAs^^	SY&++-----d
ci',,.......r   c                     t          ddd          }t          ||d          }|j        |j        k                                    sJ |j        }|j        |j        k                                    sJ d S )Nr2   r3   r4   r5   ABr8   )r    r;   df3res3s       r   %test_transpose_tzaware_2col_single_tzz3TestTranspose.test_transpose_tzaware_2col_single_tz3   s{    +Q5AAAc,,--
ci',,.....usy(--///////r   c                    t          ddd          }|                    d          }t          ||d          }|j        |j        |j        gk                                    sJ |j        j        t          k                                    sJ t          j	        |j        j        |
                    t                               d S )Nr2   r3   r4   r5   
US/Pacificr?   )r   
tz_convertr   r9   r)   r:   r   objectr   r   astype)r    r;   dti2df4s       r   $test_transpose_tzaware_2col_mixed_tzz2TestTranspose.test_transpose_tzaware_2col_mixed_tz<   s    +Q5AAA~~l++c--..
sy$*55::<<<<<&++-----
cegszz&'9'9:::::r   r7   NzAmerica/New_Yorkc                 D   t          ddd|          }t          t          t          |                    t          t          |                    d|          }|j        |j        k    }t          dt          d          |	          }t          j        ||           d S )
N20161101201611304H)r*   r7   abr'   Tab)r(   columns)r   r   r   r   r   listr   r   )r    r7   idxr"   r#   r$   s         r   2test_transpose_preserves_dtindex_equality_with_dstz@TestTranspose.test_transpose_preserves_dtindex_equality_with_dstF   s     ZdrBBBU3s88__5S??CC3OOOTdSAAA
fh/////r   c                    t          ddd          }|                    d          }t          ||g          }|j        t          k                                    sJ |j        }|j        t          k                                    sJ d S )Nr2   r3   r4   r5   rF   )r   rG   r   r9   rH   r:   r   )r    r;   rJ   df2res2s        r   )test_transpose_object_to_tzaware_mixed_tzz7TestTranspose.test_transpose_object_to_tzaware_mixed_tzO   s    +Q5AAA~~l++ d$$
f$))+++++uv%**,,,,,,,r   c                     |j         }t          |j        j                   }ddg|_        t	          j        ||           d S )Nr@   rA   )r   r   valuesr(   r   r   )r    uint64_framer#   r$   s       r   test_transpose_uint64z#TestTranspose.test_transpose_uint64Z   s@    \0233s
fh/////r   c                    |}|j         }|                                D ]j\  }}|                                D ]P\  }}t          j        |          r#t          j        ||         |                   sJ <|||         |         k    sJ Qkt	          j                    \  }}	t          |	|          }
|
j         }|                                D ]\  }}|j        t          j        k    sJ d S )Nr'   )	r   itemsr   isnanr   getMixedTypeDictr   r)   object_)r    float_frameframedftrW   seriescolvaluer(   datamixedmixed_Tss                r   test_transpose_floatz"TestTranspose.test_transpose_float`   s    g99;; 	4 	4KC$llnn 4 4
U8E?? 48E#JsO444444 E#JsO33333	4 )++t$e,,,'mmoo 	) 	)FC7bj(((((	) 	)r   c                     |j         }d|j        d d ddf<   |r)|j        dd         dk                                    sJ d S |j        dd         dk                                    sJ d S )N   
   )r   ilocr^   r:   )r    rf   using_copy_on_writerh   s       r   test_transpose_get_viewz%TestTranspose.test_transpose_get_viewr   s    mAbD 	9&qt,1668888888&qt,1668888888r   c                    t          ddd          }|j                            dd          }t          |          }|j        j        dk    sJ |j        }|j        j        dk    sJ |j        j        d         j        }|r8t          j
        |j        j        d         j        j        |j                  sJ d S t          j
        |j        |j                  sJ d S )	Nz
2016-01-01   rF   r5   r3      r   r   )r   _datareshaper   _mgrnblocksr   blocksr^   r   shares_memory_ndarray)r    ru   r;   arrr"   r#   rtrips          r   &test_transpose_get_view_dt64tzget_viewz4TestTranspose.test_transpose_get_view_dt64tzget_view|   s    q\BBBi1%%s^^w!####{"a''''"1%, 	B#BGN1$5$<$Eu~VVVVVVV#CL%.AAAAAAAr   c                    t          dt          d          t          d          git                    }|j        }t          t          d          t          d          ggddgdgt                    }t	          j        ||           d S )NrR   
2019-12-31r)   r   r   rU   r(   r)   )r   r   rH   r   r   r   r    r"   r#   r$   s       r   test_transpose_not_inferring_dtz-TestTranspose.test_transpose_not_inferring_dt   s    i--y/F/FG 	
 
 
 %%y'>'>?@F%	
 
 
 	fh/////r   c                    t          t          t          d          t          d          gt                    t          d          t          d          gd          }|j        }t          t          d          t          d          gt          d          t          d          ggddgddgt                    }t          j        ||           d S )	Nr   r   rQ   r   r   rR   rS   r   )r   r   r   rH   r   r   r   r   s       r   ,test_transpose_not_inferring_dt_mixed_blocksz:TestTranspose.test_transpose_not_inferring_dt_mixed_blocks   s    |,,i.E.EFf    --y/F/FG	 
 
 <(()L*A*AB<(()L*A*AB F*
 
 
 	fh/////r   )__name__
__module____qualname__r%   r0   r=   rD   rL   pytestmarkparametrizerX   r\   r`   rp   tdskip_array_manager_invalid_testrv   r   r   r   r   r   r   r   r      s       	0 	0 	0
1 
1 
1/ / /0 0 0; ; ; [TD*<#=>>0 0 ?>0	- 	- 	-0 0 0) ) )$ '9 9 ('9 'B B ('B0 0 0"0 0 0 0 0r   r   )numpyr   r   pandas.util._test_decoratorsutil_test_decoratorsr   pandasr   r   r   r   r   r   r	   pandas._testing_testingr   r   r   r   r   <module>r      s         ) ) ) ) ) ) ) ) )                       _0 _0 _0 _0 _0 _0 _0 _0 _0 _0r   