o
    ;Di	                     @   s~   d dl mZmZmZ d dlZd dlZd dlZd dlmZ dddZ	dddZ
ddd	Zd
d Zdd ZdddZdddZdS )    )absolute_importprint_functiondivisionN)izip_longestc                 C   s    | |ksJ |pd| |f dS )zCTest when two values from a python variable are exactly equals (==)z%r != %sN )expectactualmsgr   r   J/var/www/Datamplify/venv/lib/python3.10/site-packages/petl/test/helpers.pyeq_   s    r   c                 C   s2   |du rdnd|  }t j| ||dsJ |dS )zBTest when the values are aproximatedly equals by a places exponentN
   )abs)pytestapprox)firstsecondplacesr	   vabsr   r   r
   assert_almost_equal   s   r   c                 C   s   t | }t |}d}t||ddD ]-\}}|r||}|du r$|du r$qt|ttttfv r4t|| qt||| |d }qdS )zATest when values of a iterable are equals for each row and columnr   N	fillvalue   )	iterr   typeintfloatboolstrr   _ieq_row)r   r   castieiairrerar   r   r
   ieq   s   

r%   c              	   C   s   |d us
J d| | d usJ d| d}t | |d dD ]1\}}t|tr<t ||d dD ]\}}t||| ||| q-nt|tsJt||| ||| |d }qd S )Nz4Expected row #%d is None, but result row is not Nonez4Expected row #%d is not None, but result row is Noner   r   r   )r   
isinstancelist_ieq_coldict)r#   r$   r"   icvevajejar   r   r
   r   '   s   


r   c              
   C   s^   zt | | W dS  ty. } ztd| |d|tjd td| | d|tjd |d}~ww )z5Print two values when they aren't exactly equals (==)z
row #%dz != )filez	col #%d: N)r   AssertionErrorprintsysstderr)r+   r,   r#   r$   r"   r*   ear   r   r
   r(   4   s   r(   c                 C   s   t | || t | || dS )zDTest when iterables values are equals twice looking for side effectsN)r%   )r   r   r   r   r   r
   ieq2?   s   r5   Tc                 C   s^   i }t | }tj D ]\}}| |  r$|r ||d }|||< qt |dkr-dS |S )z,Get all named variables starting with prefixNr   )lenosenvironitemsupper
startswith)prefixremove_prefixresvarlenvarnamevarvaluer   r   r
   get_env_vars_namedE   s   rB   )N)NN)T)
__future__r   r   r   r7   r2   r   petl.compatr   r   r   r%   r   r(   r5   rB   r   r   r   r
   <module>   s    



