
    g.                         d Z ddlmZmZmZ ddlmZmZmZ ddl	m
Z
 ddlmZ  e
dd          Zesd	Zd
 Zd Zd Zd Zd Zd Zd ZdS )z<Tests of tools for setting up interactive IPython sessions.     )init_ipython_sessionenable_automatic_symbols"enable_automatic_int_sympification)SymbolRationalInteger)import_module)raisesIPythonz0.11)min_module_versionTc                  X   t                      } |                     d           t          |            d}|| j        vsJ |                     d|z  d           || j        vsJ |                     d|z  d           | j        d         t          k    sJ |                     |d|dd           || j        v sJ |                     d	d           d
| j        vsJ | j        d         du sJ |                     d           |                     dd           | j        d         du sJ d S )Nzfrom sympy import *verylongsymbolnameza = %sTza = type(%s)az = Symbol('z')za = all == __builtin__.allallzimport sympyz a = factorial == sympy.factorial)r   run_cellr   user_nsr   )appsymbols     `/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/interactive/tests/test_ipython.pytest_automatic_symbolsr      sb    
 
 CLL&'''S!!!!F$$$$LLF"D)))$$$$LL&($///;sv%%%%LL7>>>S[     LL-t444####;st#### LL   LL3T:::;st######    c                     t                      } |                     d           |                     d           t          | j        d         t                    sJ t          |            |                     d           t          | j        d         t                    sJ |                     d           t          | j        d         t                    sJ |                     d           t          | j        d         t                    sJ |                     d           | j        d         t          dd          k    sJ d S )	Nzfrom sympy import Integerza = 1r   za = 1/2z
a = int(1)z
a = (1/
2)      )r   r   
isinstancer   intr   r   r   r   s    r   test_int_to_Integerr   :   s"   

 
 CLL,---LLck#&,,,,,&s+++LLck#&11111LLck#&00000LLck#&,,,,,LL;sx1~~------r   c                  T   t                      } |                     d           |                     d           |                     d           |                     d           |                     d           |                     d           t          t          j                            d          d                   d	k     r3| j        d
         d         dk    sJ | j        d         d         dk    sJ n>| j        d
         d         d         dk    sJ | j        d         d         d         dk    sJ |                     d           |                     d           |                     d           |                     d           t          t          j                            d          d                   d	k     r0| j        d
         d         dv sJ | j        d         d         dv sJ d S | j        d
         d         d         dv sJ | j        d         d         d         dv sJ d S )Nip = get_ipython()inst = ip.instance()&format = inst.display_formatter.formatfrom sympy import Symbolza = format(Symbol('pi'))za2 = format(Symbol('pi')**2).r   r   r   
text/plainpia2zpi**2from sympy import init_printingzinit_printing())u   πr&   )u    2
π z  2
pi r   r   r   ipython__version__splitr   r   s    r   test_ipythonprintingr-   N   s0   

 
 CLL%&&&LL'(((LL9:::LL+,,, LL+,,,LL/000
7$$S))!,--11{3-5555{4 .'99999{3"<0D8888{4 #L1W<<<< LL2333LL"###LL+,,,LL/000
7$$S))!,--11{3-1TTTTT{4 .2```````{3"<04WWWWW{4 #L15cccccccr   c                     t                                          d                               d                               d                               d                               d                               d           t          t          j                            d          d                   d	k     r,j        d
         d         } t          t          fd           n1j        d
         d         d         } t          t          fd           | dv sJ                     d                               d                               d           t          t          j                            d          d                   d	k     r'j        d
         d         } j        d
         d         }n2j        d
         d         d         } j        d
         d         d         }| dv sJ |dk    sJ                     d                               d           t          t          j                            d          d                   d	k     rj        d
         d         }nj        d
         d         d         }|dk    sJ                     d                               d                               d           t          t          j                            d          d                   d	k     r,j        d
         d         } t          t          fd           n1j        d
         d         d         } t          t          fd           | dv sJ d S )Nr    r!   r"   r#   r(   z2a = format({Symbol('pi'): 3.14, Symbol('n_i'): 3})r$   r   r   r   r%   c                  *     j         d         d         S Nr   
text/latexr   r   s   r   <lambda>z+test_print_builtin_option.<locals>.<lambda>}       S!1,!? r   c                  6     j         d         d         d         S Nr   r   r1   r2   r   s   r   r3   z+test_print_builtin_option.<locals>.<lambda>       S!1!!4\!B r   ){pi: 3.14, n_i: 3}u   {nᵢ: 3, π: 3.14}{n_i: 3, pi: 3.14}u   {π: 3.14, nᵢ: 3}>inst.display_formatter.formatters['text/latex'].enabled = Trueinit_printing(use_latex=True)r1   z8$\displaystyle \left\{ n_{i} : 3, \  \pi : 3.14\right\}$z\    class WithOverload:
        def _latex(self, printer):
            return r"\LaTeX"
    za = format((WithOverload(),))z%$\displaystyle \left( \LaTeX,\right)$z2init_printing(use_latex=True, print_builtin=False)c                  *     j         d         d         S r0   r2   r   s   r   r3   z+test_print_builtin_option.<locals>.<lambda>   r4   r   c                  6     j         d         d         d         S r6   r2   r   s   r   r3   z+test_print_builtin_option.<locals>.<lambda>   r7   r   )r8   r9   )	r   r   r   r*   r+   r,   r   r
   KeyError)textlatexr   s     @r   test_print_builtin_optionrA   p   s   

 
 CLL%&&&LL'(((LL9:::LL+,,,LL2333LLEFFF
7$$S))!,--11{3-x????@@@@{3"<0xBBBBCCC  a a a a a LLQRRRLL0111LLEFFF
7$$S))!,--11{3-C .{3"<0C #L1 a a a a a OOOOO LL  	 	 	
 LL0111
7$$S))!,--11C .C #L1<<<<<LLQRRRLLEFFFLLEFFF
7$$S))!,--11{3-x????@@@@{3"<0xBBBBCCC
 ???????r   c                     t                      } |                     d           |                     d           |                     d           |                     d           |                     d           |                     d           |                     d           |                     d           |                     d	           |                     d
           t          t          j                            d          d                   dk     r| j        d         d         dk    sJ d| j        d         vsJ | j        d         d         d d         dk    sJ d| j        d         vsJ | j        d         d         dk    sJ | j        d         d         dk    sJ d S | j        d         d         d         dk    sJ d| j        d         d         vsJ | j        d         d         d         d d         dk    sJ d| j        d         d         vsJ | j        d         d         d         dk    sJ | j        d         d         d         dk    sJ d S )Nr    r!   r"   r:   'from sympy import init_printing, Matrixz0init_printing(use_latex=True, use_unicode=False)za = format((True, False))z
import syszb = format(sys.flags)zc = format((Matrix([1, 2]),))r$   r   r   r   r%   z(True, False)r1   b
   z
sys.flags(cz [1]  
([ ],)
 [2]  zJ$\displaystyle \left( \left[\begin{matrix}1\\2\end{matrix}\right],\right)$r)   r   s    r   test_builtin_containersrG      s   

 
 CLL%&&&LL'(((LL9:::LLQRRRLL:;;;LLCDDD LL,---LLLL()))LL0111
7$$S))!,--11{3-/AAAA3;s#33333{3-crc2lBBBB3;s#33333{3-    {3-  2G  G  G  G  G  G  G{3"<0_DDDD3;s#3A#66666{3"<0"5EEEE3;s#3A#66666{3"<0    {3"<0  5J  J  J  J  J  J  Jr   c                     t                      } |                     d           |                     d           |                     d           |                     d           |                     d           |                     d           |                     d           |                     d           t          t          j                            d	          d
                   dk     r|                     d           n|                     d           |                     d           |                     d           |                     d           d S )Nimport IPythonr    r!   r"   rC   z%init_printing(use_latex='matplotlib')z=inst.display_formatter.formatters['image/png'].enabled = Truezimport warningsr$   r   r   zwarnings.simplefilter('error')zHwarnings.simplefilter('error', IPython.core.formatters.FormatterWarning)za = format(Matrix([1, 2, 3]))z'from sympy import Piecewise, Symbol, EqzAx = Symbol('x'); pw = format(Piecewise((1, Eq(x, 0)), (0, True))))r   r   r   r*   r+   r,   r   s    r   test_matplotlib_bad_latexrJ      s>   

 
 CLL!"""LL%&&&LL'(((LL9:::LL:;;;LL8999 LLPQQQ LL"###
7$$S))!,--1156666_``` LL0111 LL:;;;LLTUUUUUr   c                     t                      } |                     d           |                     d           |                     d           |                     d           |                     d           |                     d           |                     d           |                     d           |                     d	           |                     d
           t          t          j                            d          d                   dk     r| j        d         d         }n| j        d         d         d         }|dk    sJ d S )NrI   r    r!   r"   r:   r(   r#   r;   z    class SymbolWithOverload(Symbol):
        def _repr_latex_(self):
            return r"Hello " + super()._repr_latex_() + " world"
    z#a = format(SymbolWithOverload('s'))r$   r   r   r   r1   zHello $\displaystyle s$ worldr)   )r   r@   s     r   test_override_repr_latexrL      s?   

 
 CLL!"""LL%&&&LL'(((LL9:::LLQRRRLL2333LL+,,,LL0111LL  	 	 	
 LL6777
7$$S))!,--11C .C #L14444444r   N)__doc__sympy.interactive.sessionr   r   r   
sympy.corer   r   r   sympy.externalr	   sympy.testing.pytestr
   r*   disabledr   r   r-   rA   rG   rJ   rL    r   r   <module>rT      s3   B BB B B B B B B B B B 1 0 0 0 0 0 0 0 0 0 ( ( ( ( ( ( ' ' ' ' ' ' -	f
=
=
= H$ $ $:. . .(d d dDG@ G@ G@T'J 'J 'JRV V V:5 5 5 5 5r   