
>\(  ã               @   s´   d  d l  Z  d  d l m Z d  d l Z d  d l m Z d d l m Z d  Z d Z	 d Z
 e	 d Z e
 d Z Gd	 d
 „  d
 e ƒ Z Gd d „  d e ƒ Z Gd d „  d e ƒ Z d S)é    N)ÚTestCase)Úxrangeé   )Úfrom_this_diré   é   é
   c               @   sE  e  Z d  Z d d d d d g 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 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 d0 d1 „  Z d2 d3 „  Z d4 d5 „  Z d6 S)7Ú	TestSheetÚ
PROFILEDEFZAXISDEFÚTRAVERSALCHAINAGEZAXISDATUMLEVELSÚPROFILELEVELSc             C   s"   t  j t d ƒ d d ƒ|  _ d  S)Nzprofiles.xlsÚformatting_infoT)ÚxlrdÚopen_workbookr   Úbook)Úself© r   ú8/home/travis/build/python-excel/xlrd/tests/test_sheet.pyÚsetUp   s    zTestSheet.setUpc             C   s8   |  j  | d d ƒ ƒ |  j  | t d t d ƒ ƒ d  S)Nr   r   )Ú
assertTrueÚNROWSÚNCOLS)r   Úfunctionr   r   r   Úcheck_sheet_function   s    zTestSheet.check_sheet_functionc             C   s0   |  j  t | t d ƒ |  j  t | d t ƒ d  S)Nr   )ÚassertRaisesÚ
IndexErrorÚROW_ERRÚCOL_ERR)r   r   r   r   r   Ú check_sheet_function_index_error   s    z*TestSheet.check_sheet_function_index_errorc             C   s4   | d d t  d ƒ } |  j t | ƒ t  d ƒ d  S)Nr   é   é   )r   ÚassertEqualÚlen)r   Zcol_functionÚ_slicer   r   r   Úcheck_col_slice#   s    zTestSheet.check_col_slicec             C   s4   | d d t  d ƒ } |  j t | ƒ t  d ƒ d  S)Nr   r   r    )r   r!   r"   )r   Zrow_functionr#   r   r   r   Úcheck_row_slice'   s    zTestSheet.check_row_slicec             C   s)   |  j  j t ƒ } |  j | j t ƒ d  S)N)r   Úsheet_by_indexÚ
SHEETINDEXr!   Únrowsr   )r   Úsheetr   r   r   Ú
test_nrows+   s    zTestSheet.test_nrowsc             C   s)   |  j  j t ƒ } |  j | j t ƒ d  S)N)r   r&   r'   r!   Úncolsr   )r   r)   r   r   r   Ú
test_ncols/   s    zTestSheet.test_ncolsc             C   s\   |  j  j t ƒ } |  j t j | j d d ƒ ƒ |  j t j | j t d t d ƒ ƒ d  S)Nr   r   )	r   r&   r'   ÚassertNotEqualr   Ú
empty_cellÚcellr   r   )r   r)   r   r   r   Ú	test_cell3   s    zTestSheet.test_cellc             C   s&   |  j  j t ƒ } |  j | j ƒ d  S)N)r   r&   r'   r   r/   )r   r)   r   r   r   Útest_cell_error8   s    zTestSheet.test_cell_errorc             C   s&   |  j  j t ƒ } |  j | j ƒ d  S)N)r   r&   r'   r   Ú	cell_type)r   r)   r   r   r   Útest_cell_type<   s    zTestSheet.test_cell_typec             C   s&   |  j  j t ƒ } |  j | j ƒ d  S)N)r   r&   r'   r   r2   )r   r)   r   r   r   Útest_cell_type_error@   s    zTestSheet.test_cell_type_errorc             C   s&   |  j  j t ƒ } |  j | j ƒ d  S)N)r   r&   r'   r   Ú
cell_value)r   r)   r   r   r   Útest_cell_valueD   s    zTestSheet.test_cell_valuec             C   s&   |  j  j t ƒ } |  j | j ƒ d  S)N)r   r&   r'   r   r5   )r   r)   r   r   r   Útest_cell_value_errorH   s    zTestSheet.test_cell_value_errorc             C   s&   |  j  j t ƒ } |  j | j ƒ d  S)N)r   r&   r'   r   Úcell_xf_index)r   r)   r   r   r   Útest_cell_xf_indexL   s    zTestSheet.test_cell_xf_indexc             C   s&   |  j  j t ƒ } |  j | j ƒ d  S)N)r   r&   r'   r   r8   )r   r)   r   r   r   Útest_cell_xf_index_errorP   s    z"TestSheet.test_cell_xf_index_errorc             C   s;   |  j  j t ƒ } | j d ƒ } |  j t | ƒ t ƒ d  S)Nr   )r   r&   r'   Úcolr!   r"   r   )r   r)   r;   r   r   r   Útest_colT   s    zTestSheet.test_colc             C   s;   |  j  j t ƒ } | j d ƒ } |  j t | ƒ t ƒ d  S)Nr   )r   r&   r'   Úrowr!   r"   r   )r   r)   r=   r   r   r   Útest_rowY   s    zTestSheet.test_rowc             C   s]   |  j  j t ƒ } | j ƒ  } |  j t | t j ƒ d ƒ |  j t	 t
 | ƒ ƒ | j ƒ d  S)NT)r   r&   r'   Úget_rowsr   Ú
isinstanceÚtypesÚGeneratorTyper!   r"   Úlistr(   )r   r)   Zrowsr   r   r   Útest_get_rows^   s    zTestSheet.test_get_rowsc             C   s&   |  j  j t ƒ } |  j | j ƒ d  S)N)r   r&   r'   r$   Ú	col_slice)r   r)   r   r   r   Útest_col_sliced   s    zTestSheet.test_col_slicec             C   s&   |  j  j t ƒ } |  j | j ƒ d  S)N)r   r&   r'   r$   Ú	col_types)r   r)   r   r   r   Útest_col_typesh   s    zTestSheet.test_col_typesc             C   s&   |  j  j t ƒ } |  j | j ƒ d  S)N)r   r&   r'   r$   Ú
col_values)r   r)   r   r   r   Útest_col_valuesl   s    zTestSheet.test_col_valuesc             C   s&   |  j  j t ƒ } |  j | j ƒ d  S)N)r   r&   r'   r%   Ú	row_slice)r   r)   r   r   r   Útest_row_slicep   s    zTestSheet.test_row_slicec             C   s&   |  j  j t ƒ } |  j | j ƒ d  S)N)r   r&   r'   r%   rG   )r   r)   r   r   r   Útest_row_typest   s    zTestSheet.test_row_typesc             C   s&   |  j  j t ƒ } |  j | j ƒ d  S)N)r   r&   r'   r$   Ú
row_values)r   r)   r   r   r   Útest_row_valuesx   s    zTestSheet.test_row_valuesN)Ú__name__Ú
__module__Ú__qualname__Z
sheetnamesr   r   r   r$   r%   r*   r,   r0   r1   r3   r4   r6   r7   r9   r:   r<   r>   rD   rF   rH   rJ   rL   rM   rO   r   r   r   r   r	      s4   	r	   c               @   s   e  Z d  Z d d „  Z d S)ÚTestSheetRaggedc             C   s«   t  j t d ƒ d d ƒ} | j d ƒ } |  j | j d ƒ d ƒ |  j | j d ƒ d ƒ |  j | j d ƒ d ƒ |  j | j d ƒ d ƒ |  j | j d ƒ d ƒ d  S)	Nz
ragged.xlsÚragged_rowsTr   é   r   r   r    )r   r   r   r&   r!   Úrow_len)r   r   r)   r   r   r   Útest_read_ragged   s    z TestSheetRagged.test_read_raggedN)rP   rQ   rR   rW   r   r   r   r   rS   }   s   rS   c               @   s   e  Z d  Z d d „  Z d S)ÚTestMergedCellsc             C   sf   t  j t d ƒ ƒ } xJ | j ƒ  D]< } x3 t | j ƒ D]" } |  j | j | ƒ | j ƒ q8 Wq" Wd  S)Nzmerged_cells.xlsx)	r   r   r   Úsheetsr   r(   r!   rV   r+   )r   r   r)   Úrowxr   r   r   Útest_tidy_dimensions‹   s    z$TestMergedCells.test_tidy_dimensionsN)rP   rQ   rR   r[   r   r   r   r   rX   ‰   s   rX   )rA   Úunittestr   r   Zxlrd.timemachiner   Úbaser   r'   r   r   r   r   r	   rS   rX   r   r   r   r   Ú<module>   s   

j