o
    d                     @   sV   d dl Z d dlZd dlmZmZ d dlmZmZm	Z	m
Z
 d dlmZ G dd dZdS )    N)IS64is_platform_windows)Categorical	DataFrameSeries
date_rangec                   @   s\   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dd Zdd ZdS )TestIterationc                 C   s   |  |ju s	J d S N)keyscolumnsselffloat_frame r   f/var/www/html/visualizacion-main/env/lib/python3.10/site-packages/pandas/tests/frame/test_iteration.py	test_keys   s   zTestIteration.test_keysc                 C   sB   t g dg dgg dd}| D ]\}}t|t jsJ qd S )N                  )ar   br   )r   items
isinstance_constructor_sliced)r   dfkvr   r   r   test_iteritems   s   zTestIteration.test_iteritemsc                 C   sn   g d}t g dg dg|d}t|| D ]\}\}}||ks#J t|ts*J || |k s4J qd S )N)r   r   cr   r   r   )r   zipr   r   r   all)r   colsr    r$   r!   r"   r   r   r   
test_items   s   zTestIteration.test_itemsc                 C   s$   |  D ]\}}|j|ksJ qd S r	   )r   name)r   float_string_framer!   r"   r   r   r   test_items_names%   s   zTestIteration.test_items_namesc                 C   s   t t||jsJ d S r	   )tmequalContentslistr   r   r   r   r   	test_iter)   s   zTestIteration.test_iterc                 C   sT   |  D ]\}}|j| }t|| q|  D ]\}}|j| }t|| qd S r	   )iterrowslocr,   assert_series_equal)r   r   r*   r!   r"   expr   r   r   test_iterrows,   s   

zTestIteration.test_iterrowsc                 C   sH   t g dtddddd}| D ]\}}|j| }t|| qd S )N)M1701M1802M1903M2004z
2000-01-01r   M)periodsfreq)non_iso8601iso8601)r   r   r0   r1   r,   r2   )r   sr!   r"   r3   r   r   r   test_iterrows_iso86015   s   
z#TestIteration.test_iterrows_iso8601c              	   C   s   t tdddgd gd gdgg gt gi gd}ttdddd d dg t i gtdddd}t| \}}t|| d S )	Ni  r    )r   r   r$   defgabcdefgr   object)indexr)   dtype)	r   datetimesetr   r.   nextr0   r,   r2   )r   r    expected_resultr   r   r   test_iterrows_cornerA   s$   z"TestIteration.test_iterrows_cornerc                 C   sJ  t | D ]%\}}t|dd  }|d |_|j|d d f jdd}t|| qtt	j
dtddddgd	}|jd
dD ]}t|d tsNJ qCtg dg ddd}|ddg }t| g dksmJ t strtt|jd ddksJ t|jdd}|jdksJ |j|j|jf|ksJ t|jdksJ ddg|_t|jdd}|dksJ |jdksJ tdd tdD }	t|	 }
t|
tsJ t|
dsJ tdd tdD g}t|jd
d}t|tsJ t|dsJ td d td!D g}t|jd
d}t|tsJ t|ds#J d S )"Nr   r   T)dropr   )floatsintsrQ   rR   r   FrG   r   r   )r   r   )datar   ))r   r   r   )r   r   r   )r   r   r   )r)   z![(0, 1, 4), (1, 2, 5), (2, 3, 6)]TestName)Indexr   r   defreturn)r   r   r   )rV   _1_2c                 S   s   i | ]
}d t | |gqS )rC   )str.0ir   r   r   
<dictcomp>{   s    z1TestIteration.test_itertuples.<locals>.<dictcomp>i   _fieldsc                 S      i | ]}d | d| qS foo_bar_r   r\   r   r   r   r_             c                 S   ra   rb   r   r\   r   r   r   r_      re      )	enumerate
itertuplesr   r   r)   ilocreset_indexr,   r2   nprandomrandnranger   intr.   r   r   reprrK   r`   rV   r   r   type__name__r   tuplehasattr)r   r   r^   tupserrL   r    dfaatup2df3tup3df_254_columnsresult_254_columnsdf_255_columnsresult_255_columnsr   r   r   test_itertuplesW   sL   


zTestIteration.test_itertuplesc           	      C   s   t g dg dd}t|d |d< t|jj}t|jj }t	|| |j
ddD ]}t| q.| D ]\}}t| q9| D ]\}}t| qFd S )N)r   r   r   r   r   r   )r   r   r   r   r   rB   )id	raw_grader   gradeFrS   )r   r   r.   r   valuesrl   arraytolistr,   assert_almost_equalri   r[   r0   r   )	r   r    rN   rL   trowr>   r$   colr   r   r   #test_sequence_like_with_categorical   s   


z1TestIteration.test_sequence_like_with_categoricalN)rs   
__module____qualname__r   r#   r(   r+   r/   r4   r?   rO   r   r   r   r   r   r   r      s    		5r   )rI   numpyrl   pandas.compatr   r   pandasr   r   r   r   pandas._testing_testingr,   r   r   r   r   r   <module>   s    