
    Nge                     D    d Z ddlmZ ddlZddlmZ  G d d          ZdS )z2Test suite for `unstructured.file_utils.filetype`.    )annotationsN)FileTypec                  B	   e Zd ZdZd Zej                            ddej	        fdej
        fdej        fdej        fdej        fg          dJd            Zej                            d	g d          dKd            Zej                            ddej	        fdej        fdej        fdej        fdej        fdej        fdej        fdej        fdej        fg	          dLd            Zej                            dg d          dMd            Zej                            dej	        d fej        d!fej        d"fej        d#fej        d#fej        d$fej        d%fej        d&fej        d#fej        d#fej        d#fg          dNd)            Zej                            dej	        d*fej        d+fej        d,fej        d-fej
        d-fej        d.fej        d/fej        d-fej        d-fej        d-fg
          dOd1            Zej                            dej	        d2fej        d2fej        d2fej        d2fej        d2fej        d2fej         d2fej        d3fej        d3fej        d3fej        d3fg          dPd4            Z!ej                            d5ej	        dfej        d6fej        dfej        dfej
        d7fej        d8fej        d9fej        dfej        dfej        dfej        d:fg          dQd;            Z"ej                            dej	        d<fej        d=fej        d>fej        d?fej        d<fej#        d<fej$        d<fg          dPd@            Z%ej                            dej        ej        ej        ej        g          dRdA            Z&ej                            dej	        dBfej        dCfej        dDfej        dEfej        dBfej#        dBfej$        dBfg          dPdF            Z'ej                            dej        ej        ej        ej        g          dRdG            Z(ej                            dej	        d fej        dHfej        d!fej        d"fej        d fej#        d fej$        d fej        d&fej)        d&fg	          dPdI            Z*d#S )SDescribeFileTypez=Unit-test suite for `unstructured.file_utils.model.Filetype`.c                d    t           j        t           j        cxk     rt           j        k     sn J dS )z@FileType is a total order on name, e.g. FileType.A < FileType.B.N)r   EMLHTMLXML)selfs    c/var/www/html/ai-engine/env/lib/python3.11/site-packages/test_unstructured/file_utils/test_model.py4it_is_a_collection_ordered_by_name_and_can_be_sortedzEDescribeFileType.it_is_a_collection_ordered_by_name_and_can_be_sorted   s3    |hm::::hl::::::::    )ext	file_typez.bmpz.htmlz.emlz.p7sz.javar   strr   FileType | Nonec                6    t          j        |          |u sJ d S Nr   from_extension)r   r   r   s      r   .it_can_recognize_a_file_type_from_an_extensionz?DescribeFileType.it_can_recognize_a_file_type_from_an_extension   s&     &s++y888888r   )z.foobarz.xyzz.mdx .N
str | Nonec                2    t          j        |          J d S r   r   )r   r   s     r   >but_not_when_that_extension_is_empty_or_None_or_not_registeredzODescribeFileType.but_not_when_that_extension_is_empty_or_None_or_not_registered"   s    &s++33333r   )	mime_typer   z	image/bmpz
text/x-csvzapplication/mswordzmessage/rfc822z
text/plainz	text/yamlzapplication/xmlztext/xmlzinode/x-emptyr   c                6    t          j        |          |u sJ d S r   r   from_mime_type)r   r   r   s      r   -it_can_recognize_a_file_type_from_a_mime_typez>DescribeFileType.it_can_recognize_a_file_type_from_a_mime_type(   s&    " &y11Y>>>>>>r   )ztext/cssz	image/gifz
audio/mpegzfoo/barNc                2    t          j        |          J d S r   r   )r   r   s     r   Dbut_not_when_that_mime_type_is_not_registered_by_a_file_type_or_NonezUDescribeFileType.but_not_when_that_mime_type_is_not_registered_by_a_file_type_or_None;   s!     &y1199999r   )r   expected_valueimagedocdocxNmsgpdfxlsxr   r$   c                     |j         |k    sJ d S r   )
extra_namer   r   r$   s      r   Land_it_knows_which_pip_extra_needs_to_be_installed_to_get_those_dependenciesz]DescribeFileType.and_it_knows_which_pip_extra_needs_to_be_installed_to_get_those_dependenciesC   s    & #~555555r   )unstructured_inference)pandas)r'    )r'   pypandoc)	pdf2imagepdfminerPILtuple[str, ...]c                     |j         |k    sJ d S r   )importable_package_dependenciesr-   s      r   =it_knows_which_importable_packages_its_partitioner_depends_onzNDescribeFileType.it_knows_which_importable_packages_its_partitioner_depends_onZ   s    $ 8NJJJJJJr   TFc                    |j         |u sJ d S r   )is_partitionabler-   s      r   =it_knows_whether_files_of_its_type_are_directly_partitionablezNDescribeFileType.it_knows_whether_files_of_its_type_are_directly_partitionablep   s    & )^;;;;;;r   )r   r   ztext/csvz	text/htmlz
image/jpegzapplication/pdfzapplication/octet-streamc                     |j         |k    sJ d S r   )r   )r   r   r   s      r    it_knows_its_canonical_MIME_typez1DescribeFileType.it_knows_its_canonical_MIME_type   s    " "i//////r   partition_imagepartition_csvpartition_docpartition_docxc                     |j         |k    sJ d S r   )partitioner_function_namer-   s      r   &it_knows_its_partitioner_function_namez7DescribeFileType.it_knows_its_partitioner_function_name   s     2nDDDDDDr   c                |    t          j        t          d          5  |j         d d d            d S # 1 swxY w Y   d S )Nz2`.partitioner_function_name` is undefined because match)pytestraises
ValueErrorrD   r   r   s     r   Ybut_it_raises_on_partitioner_function_name_access_when_the_file_type_is_not_partitionablezjDescribeFileType.but_it_raises_on_partitioner_function_name_access_when_the_file_type_is_not_partitionable   s     ]:-abbb 	0 	0//	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0   155zunstructured.partition.imagezunstructured.partition.csvzunstructured.partition.doczunstructured.partition.docxc                     |j         |k    sJ d S r   )partitioner_module_qnamer-   s      r   ;it_knows_the_fully_qualified_name_of_its_partitioner_modulezLDescribeFileType.it_knows_the_fully_qualified_name_of_its_partitioner_module   s     1^CCCCCCr   c                |    t          j        t          d          5  |j         d d d            d S # 1 swxY w Y   d S )Nz1`.partitioner_module_qname` is undefined because rG   )rI   rJ   rK   rP   rL   s     r   Xbut_it_raises_on_partitioner_module_qname_access_when_the_file_type_is_not_partitionableziDescribeFileType.but_it_raises_on_partitioner_module_qname_access_when_the_file_type_is_not_partitionable   s     ]:-`aaa 	/ 	/..	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/rN   csvc                     |j         |k    sJ d S r   )partitioner_shortnamer-   s      r   /it_provides_access_to_the_partitioner_shortnamez@DescribeFileType.it_provides_access_to_the_partitioner_shortname   s    " ..@@@@@@r   )r   r   r   r   )r   r   )r   r   r   r   )r   r   )r   r   r$   r   )r   r   r$   r6   )r   r   r$   r   )r   r   r   r   )r   r   )+__name__
__module____qualname____doc__r   rI   markparametrizer   BMPr	   r   TXTr   r   CSVDOCr
   EMPTYr!   r#   DOCXMSGPDFXLSUNKWAVZIPr.   ODTr9   JPGPPTXr<   r>   PNGTIFFrE   rM   rQ   rS   XLSXrW   r1   r   r   r   r   
   s       GG; ; ; [X\"hm$X\"X\"hl#	
	 	9 9 9	 	9 [U$N$N$NOO4 4 4 PO4
 ["(,'8<(!8<0x|,8<((,'-&hn-
	
 ? ? ? ?
 [[*b*b*bcc: : : dc: ['\7#\5!]F#\4 ^T"\5!\5!\6"\4 \4 \4 	
  6 6 6!  6 ['\67\;'\9%^R ]B\/0\;<\2\2\2	
 K K K K ['\4 \4 \4 \4 \4 \4 ]D!\5!\5!^U#\5!	
  < < <!  < ["\;'\:&\/0\+,]K(\<(\,-\<(\,-^_-\56	
  0 0 0!  0
 ['\,-\?+\?+],-\,-\,-]-.	
 E E E E [hlHL(.(,O 0 0 0 0 ['\9:\78\78]9:\9:\9:]:;	
 D D D D
 [hlHL(.(,O / / / / ['\7#\5!\5!]F#\7#\7#]G$\6"]F#
	
 A A A A A Ar   r   )r[   
__future__r   rI   unstructured.file_utils.modelr   r   r1   r   r   <module>rr      s~    8 8 " " " " " "  2 2 2 2 2 2YA YA YA YA YA YA YA YA YA YAr   