o
    8VaG                     @   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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dd ZdS )    )dedentN)PopenPIPE)	translatereplaceordinalrawlinesstrlinesc                  C   s   d} t | d ddk t | d ddk t | ddiddk t | ddiddks(J t | d	diddks4J t | d	diddks@J t | ddidd	ksLJ t | dd
ddksXJ td}t | dd|dksgJ |t | d||v du stJ d S )Nabcabc xcxbZbcbaby)r
   r   i   ZxbcT)r   chr)r
   u r   A/usr/lib/python3/dist-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sJ t ddks J t d	d
ks(J tdd tddD s6J t ddks>J t ddksFJ t ddksNJ t ddksVJ t ddks^J t ddksfJ tdd tddD stJ 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>#   s    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%   *   s   " i$i5)r   allranger   r   r   r   test_ordinal   s    r1   c                   C   s8   t ddksJ t ddksJ t tddksJ 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_rawlines-   s
   
r3   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s(J t dd	d
dks2J t ddks:J d} t | t| ksFJ 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)Zshortzr'\left'r2   z(
r'\le"ft'
)zthis
other line)r	   r   r   )qr   r   r   test_strlines8   s    r7   c                   C   sj   z	t d d d d W n	 ty   Y nw J t dd d d dks J zt ddd W n
 ty2   Y d S w J )NZnot_noneFsr   r   )r   
ValueErrorr   r   r   r   test_translate_args\   s   r:   c                  C   sj   t j } d| d< d}tjd|g}t|| ttd}| \}}|d}|d}d}||v s3J |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   Zcommunicatedecode)r<   cmdZcmdlineprocouterrZexpectedr   r   r   test_debug_outputn   s   


rJ   )textwrapr   rC   
subprocessr   r   r@   Zsympy.utilities.miscr   r   r   r   r	   r   r   r1   r3   r7   r:   rJ   r   r   r   r   <module>   s    $