o
    QDi                     @   s~   d dl Z d dlZd dlmZ ejje jdk 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 )    N)Package)   
   zSupported on Python3.10+)reasonc                  C   s   t d} |  }t|dksJ |d d dksJ t|d  g dks(J |d d dks2J t|d  g dks@J |d	 d d
ksJJ t|d	  g dksXJ d S )Ndata/package-1067.jsonr   capital-validrows   )variableTypesnotNullRowsrowsWithNullValues
fieldStatsaverageRecordSizeInBytes	timeTakenmd5sha256bytesfieldsr   capital-invalid   analysis-data	   )r   analyzelenlistkeyspackageanalysis r   d/var/www/Datamplify/venv/lib/python3.10/site-packages/frictionless/analyzer/__spec__/test_package.pytest_analyze_package   s    r!   c                  C   s   t d} | jdd}|d d dksJ t|d  g dks"J |d d d	ks,J t|d  g dks:J |d
 d dksDJ t|d
  g dksRJ d S )Nr   Tdetailedr   r   r	   )r
   r   r   r   correlationsr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    test_analyze_package_detailed@   s    r&   c                  C   s   ddddgd} t | }| }t|d d dksJ |d d d	ks'J |d d
 i ks1J |d d d	ks;J |d d dksEJ |d d dksOJ |d d i ksYJ d S )Ncapitals-and-schoolsr   data/invalid.csvnamepathr*   	resourcesr      r      r   r   r   r   r      r
   )r   r   round)
descriptorr   r   r   r   r    !test_analyze_package_invalid_datar   s   r3   c                  C   sz   t d} | jdd}t|dksJ |d d dddksJ |d	 d ddd
ks,J |d d dddddks;J d S )Nr   Tr"   r   r   r
   r0   )numberstringr   integerr5   r      r	   )booleanr7   r4   r5   )r   r   r   r   r   r   r    ,test_analyze_package_detailed_variable_types   s"   


r:   c                  C   s   t d} | jdd}t|d d d  ddgksJ t|d	 d d  ddgks.J t|d
 d d  ddgks@J d S )Nr   Tr"   r   r   r*   typevaluesr   r   genderr%   r   r   r   r    8test_analyze_package_detailed_non_numeric_values_summary   s   

r>   c                  C   s<   t d} | jdd}t|d d d  g dksJ d S )Nr   Tr"   r   r   
parent_age)r;   meanmedianmodevariance	quantilesstdevmaxminboundsuniqueValuesoutliersmissingValuesr%   r   r   r   r    @test_analyze_package_detailed_numeric_values_descriptive_summary   s   (rL   c                  C   st  t d} | jdd}d}|| d d d dd	gksJ || d d d
 dks*J || d d d dks8J || d d d dksFJ || d d d dksTJ || d d d dksbJ || d d d dkspJ || d d d g dksJ || d d d dksJ || d d d dksJ || d d d dksJ || d d d g ksJ d S )Nr   Tr"   r   r   r?   rH   '   C   rF   9   r@   gUUUUUUJ@rA   4   rG   0   rK   r   rB   rD   )g     H@g      J@g     @L@rE   g#p!@rI      rC   g      '@rJ   r   r   )r   r   r*   r   r   r    <test_analyze_package_detailed_numeric_descriptive_statistics   s      rT   c                  C   s   t d} | jdd}|d d d d dksJ |d d d d	 h d
ks(J |d d d d dks6J |d d d d	 ddhksFJ d S )Nr   Tr"   r   r   r*   r;   categoricalr<   >   RomeParisBerlinLondonMadridr   school_accreditationABrS   r   r   r   r    1test_analyze_package_detailed_non_numeric_summary   s    r^   c                  C   s   ddddgd} t | }|jdd}d}t|| d d	ks!J || d
 dks+J t|| d  g dks;J || d dksEJ || d dksOJ || d dksYJ || d dddksfJ d S )Nr'   r   r(   r)   r,   Tr"   r   r.   r   r/   r   )idr*   field3name2r   r   r   r   r0   r
   r6   )r   r   r1   r   r   )r2   r   r   r*   r   r   r    *test_analyze_package_detailed_invalid_data   s    rb   )syspytestfrictionlessr   markskipifversion_info
pytestmarkr!   r&   r3   r:   r>   rL   rT   r^   rb   r   r   r   r    <module>   s     	02