a
    lh#                     @   s   d dl mZ d dlZd dlmZmZ d dlZd dlmZ d dl	m
Z
mZmZ d dlmZmZmZmZmZmZmZ dd Zd	d
 Zdd Zdd Zdd Zdd Zeddd Zdd Zdd ZdS )    )dedentN)PopenPIPE)S)raiseswarns_deprecated_sympyskip_under_pyodide)	translatereplaceordinalrawlinesstrlinesas_intfind_executablec                  C   s   d} t | d ddksJ t | d ddks,J t | ddiddksDJ t | ddiddks\J t | d	diddkstJ t | d	diddksJ t | ddidd	ksJ t | dd
ddksJ td}t | dd|dksJ |t | d||v du sJ d S )Nabcabc xcxbZbcbaby)r   r   i   ZxbcT)r	   chr)r   u r   M/var/www/auris/lib/python3.9/site-packages/sympy/utilities/tests/test_misc.pytest_translate   s    r   c                   C   s@   t dddksJ t dddidks(J t ddddks<J d S )	Nr   )r   bZbbcr   ZAaZAabc)r   CZbbC)r
   r   r   r   r   test_replace   s    r    c                   C   s   t ddksJ t ddks J t ddks0J t ddks@J t d	d
ksPJ tdd tddD slJ t ddks|J t ddksJ t ddksJ t ddksJ t ddksJ t ddksJ tdd tddD sJ d S )Nz-1str   Z0th   Z1st   Z2nd   Z3rdc                 s   s   | ]}t |d V  qdS thN)r   endswith.0ir   r   r   	<genexpr>(       ztest_ordinal.<locals>.<genexpr>      d   Z100the   Z101stf   Z102ndg   Z103rdh   Z104th   Z200thc                 s   s"   | ]}t |t|d  kV  qdS r%   )r   strr(   r   r   r   r+   /   r,   i$i5)r   allranger   r   r   r   test_ordinal"   s    r8   c                   C   s8   t ddksJ t ddks J t tddks4J d S )Nza a
azdedent('''\
    a a
    a''')za az'a a'\le"ftz*(
    '(\n'
    'r\'\\le"ft\'\n'
    ')'
))r   r   r   r   r   r   test_rawlines2   s
    
r:   c                  C   s   d} t | dtdksJ | dks&J d} t | dtdks@J t ddksPJ t dd	d
dksdJ t ddkstJ d} t | t| ksJ d S )Nzthis quote (") is in the middle
   z^        (
        'this quo'
        'te (") i'
        's in the'
        ' middle'
        )zthis quote (') is in the middle   zH        (
        "this quote (') is "
        "in the middle"
        )z\leftz(
r'\left'
)T)shortzr'\left'r9   z(
r'\le"ft'
)zthis
other line)r   r   r   )qr   r   r   test_strlines=   s     r?   c                   C   st   zt d d d d W n ty$   Y n
0 ds.J t dd d d dksDJ zt ddd W n tyf   Y n
0 dspJ d S )NZnot_noneFsr   r   )r	   
ValueErrorr   r   r   r   test_translate_argsa   s    rB   z'Cannot create subprocess under pyodide.c                  C   sj   t j } d| d< d}tjd|g}t|| ttd}| \}}|d}|d}d}||v sfJ |d S )NTrueZSYMPY_DEBUGzGfrom sympy import *; x = Symbol("x"); print(integrate((1-cos(x))/x, x))z-c)envstdoutstderrasciiz/substituted: -x*(1 - cos(x)), u: 1/x, u_var: _u)	osenvironcopysys
executabler   r   communicatedecode)rD   cmdZcmdlineprocouterrexpectedr   r   r   test_debug_outputs   s    


rT   c                   C   s   t tdd  t tdd  t tdd  t tdd  t tdd  t tdd  t tdd  t td	d  t td
d  tddddksJ d S )Nc                   S   s   t dS )NTr   r   r   r   r   <lambda>   r,   ztest_as_int.<locals>.<lambda>c                   S   s   t dS )Ng?rU   r   r   r   r   rV      r,   c                   S   s   t g S NrU   r   r   r   r   rV      r,   c                   S   s
   t tjS rW   )r   r   NaNr   r   r   r   rV      r,   c                   S   s
   t tjS rW   )r   r   Infinityr   r   r   r   rV      r,   c                   S   s
   t tjS rW   )r   r   NegativeInfinityr   r   r   r   rV      r,   c                   S   s
   t tjS rW   )r   r   ZComplexInfinityr   r   r   r   rV      r,   c                   S   s   t dS )NgJ-DrU   r   r   r   r   rV      r,   c                   S   s   t tdS )Nz1.000000000000000000001)r   r   r   r   r   r   rV      r,   TF)strictr"   )r   rA   r   r   r   r   r   test_as_int   s    r\   c                   C   s2   t   td W d    n1 s$0    Y  d S )Npython)r   r   r   r   r   r   test_deprecated_find_executable   s    r^   )textwrapr   rK   
subprocessr   r   rH   Zsympy.core.singletonr   Zsympy.testing.pytestr   r   r   Zsympy.utilities.miscr	   r
   r   r   r   r   r   r   r    r8   r:   r?   rB   rT   r\   r^   r   r   r   r   <module>   s    $$
