
    Lrdj                    h    d dl mZ d dlZd dlmc mZ d dlm	Z	 d dl
mZ d dlmZ ddZddZddZdS )    )annotationsN)Path)dry_run_csv)compute_row_hashreturnNonec            	        ddd} t          |           }ddd}t          |          }||k    }|s"t          j        d|fd||f          dt          j                    v st          j        t                     rt          j        t                     ndt          j        |           t          j        |          dt          j                    v st          j        t                     rt          j        t                     ndt          j        |          t          j        |          dz  }d	d
|iz  }t          t          j        |                    d x} x}x}x}}d S )N21)ba)r   r   ==)zP%(py4)s
{%(py4)s = %(py0)s(%(py2)s)
} == %(py10)s
{%(py10)s = %(py6)s(%(py8)s)
}r   )py0py2py4py6py8py10zassert %(py12)spy12)	r   
@pytest_ar_call_reprcompare@py_builtinslocals_should_repr_global_name	_safereprAssertionError_format_explanation)@py_assert1@py_assert3@py_assert7@py_assert9@py_assert5@py_format11@py_format13s          l/home/agent/.hermes/worktrees/FinanceManager-sprint7-postfinance-portfolio-source/tests/unit/test_imports.pytest_row_hash_is_stabler'   	   s   "%C00[011[CVYFZFZ[5EFZ5[5[[15[[[[[[[[[[[15[[[[[[[[[[[[[[[[[[[[[[[[0[[[[1[[[[[[[[[[[5E[[[[[5E[[[[[[FZ[[[[5[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[    tmp_pathr   c                   | dz  }|                     d           t          |h d          }|j        }d}||k    }|st          j        d|fd||f          dt          j                    v st          j        |          rt          j        |          ndt          j        |          t          j        |          dz  }d	d
|iz  }t          t          j
        |                    d x}x}}|j        }d}||k    }|st          j        d|fd||f          dt          j                    v st          j        |          rt          j        |          ndt          j        |          t          j        |          dz  }d	d
|iz  }t          t          j
        |                    d x}x}}|j        }t          |          }d}	||	k    }
|
st          j        d|
fd||	f          dt          j                    v st          j        t                    rt          j        t                    nddt          j                    v st          j        |          rt          j        |          ndt          j        |          t          j        |          t          j        |	          dz  }dd|iz  }t          t          j
        |                    d x}x}x}
}	d S )Naccounts.csvzdplatform_name,platform_type,account_name,account_type,currency
Demo,broker,Demo Depot,brokerage,CHF
>   currencyaccount_nameaccount_typeplatform_nameplatform_type   r   )z2%(py2)s
{%(py2)s = %(py0)s.rows_total
} == %(py5)sresultr   r   py5assert %(py7)spy7r   z3%(py2)s
{%(py2)s = %(py0)s.rows_failed
} == %(py5)s)zP%(py5)s
{%(py5)s = %(py0)s(%(py3)s
{%(py3)s = %(py1)s.row_hashes
})
} == %(py8)slen)r   py1py3r4   r   zassert %(py10)sr   )
write_textr   
rows_totalr   r   r   r   r   r   r   r   rows_failed
row_hashesr8   )r)   pathr2   r   @py_assert4r    @py_format6@py_format8@py_assert2r!   @py_assert6@py_format9r$   s                r&   test_csv_dry_run_valid_filerF      s;   n$DOO|}}}mmmnnF!!!!!!!!!!!!!!!!!!!!!!!!6!!!!!6!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""6"""""6""""""""""""""""""""""""""""""""""""" &3 !!&Q&!Q&&&&&&&&&&!Q&&&&&&&&&&&&3&&&&&3&&&&&&&&&&&&&v&&&&&v&&&&&& &&&&!&&&&Q&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&r(   c                   | dz  }|                     d           t          |h d          }|j        }d}||k    }|st          j        d|fd||f          dt          j                    v st          j        |          rt          j        |          ndt          j        |          t          j        |          dz  }d	d
|iz  }t          t          j
        |                    d x}x}}d}|j        d         }||v }	|	slt          j        d|	fd||f          t          j        |          t          j        |          dz  }
dd|
iz  }t          t          j
        |                    d x}x}	}d S )Nr+   zplatform_name,platform_type,account_name,account_type,currency
Demo,broker,Demo Depot,brokerage,CHF
Demo,broker,Demo Depot,brokerage,CHF
>   r,   r-   r.   r/   r0   r1   r   r7   r2   r3   r5   r6   zDuplicate row hashr   )in)z%(py1)s in %(py4)s)r9   r   zassert %(py6)sr   )r;   r   r=   r   r   r   r   r   r   r   r   errors)r)   r?   r2   r   r@   r    rA   rB   @py_assert0rC   @py_format5@py_format7s               r&   #test_csv_duplicate_row_hash_blockedrM      s   n$DOO  c  d  d  dmmmnnF""""""""""""""""""""""""6"""""6"""""""""""""""""""""""""""""""""""""36=#33#33333333333#3333333333#333333333333333333333333333333r(   )r   r   )r)   r   r   r   )
__future__r   builtinsr   _pytest.assertion.rewrite	assertionrewriter   pathlibr   jarvis_finance.imports.dry_runr   jarvis_finance.imports.row_hashr   r'   rF   rM    r(   r&   <module>rW      s    " " " " " "                     6 6 6 6 6 6 < < < < < <\ \ \ \' ' ' '4 4 4 4 4 4r(   