
    \h.                         S r SSKJrJrJr  SSKJrJrJr  SSK	J
r
  SSKJr  \
" SSS9r\(       d  S	rS
 rS rS rS rS rS rS rg)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1.0)min_module_versionTc                  R   [        5       n U R                  S5        [        U 5        SnXR                  ;  d   eU R                  SU-  S5        XR                  ;  d   eU R                  SU-  S5        U R                  S   [        :X  d   eU R                  U< SU< S3S5        XR                  ;   d   eU R                  S	S5        S
U R                  ;  d   eU R                  S   SL d   eU R                  S5        U R                  SS5        U R                  S   SL d   eg )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/auris/envauris/lib/python3.13/site-packages/sympy/interactive/tests/test_ipython.pytest_automatic_symbolsr      s    
 CLL&'S!!F$$$LLF"D)$$$LL&($/;;sv%%%LL7>[[    LL-t4###;;st### LL LL3T:;;st###    c                  X   [        5       n U R                  S5        U R                  S5        [        U R                  S   [        5      (       d   e[        U 5        U R                  S5        [        U R                  S   [        5      (       d   eU R                  S5        [        U R                  S   [        5      (       d   eU R                  S5        [        U R                  S   [        5      (       d   eU R                  S5        U R                  S   [        SS5      :X  d   eg )	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ckk#&,,,,&s+LLckk#&1111LLckk#&0000LLckk#&,,,,LL;;sx1~---r   c                     [        5       n U R                  S5        U R                  S5        U R                  S5        U R                  S5        U R                  S5        U R                  S5        [        [        R                  R                  S5      S   5      S	:  a1  U R                  S
   S   S:X  d   eU R                  S   S   S:X  d   eO6U R                  S
   S   S   S:X  d   eU R                  S   S   S   S:X  d   eU R                  S5        U R                  S5        U R                  S5        U R                  S5        [        [        R                  R                  S5      S   5      S	:  a1  U R                  S
   S   S;   d   eU R                  S   S   S;   d   eg U R                  S
   S   S   S;   d   eU R                  S   S   S   S;   d   eg )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   s   

 CLL%&LL'(LL9:LL+, LL+,LL/0
7$$S)!,-1{{3-555{{4 .'999{{3"<0D888{{4 #L1W<<< LL23LL"#LL+,LL/0
7$$S)!,-1{{3-1TTTT{{4 .2````{{3"<04WWWW{{4 #L15ccccr   c                    ^ [        5       mTR                  S5        TR                  S5        TR                  S5        TR                  S5        TR                  S5        TR                  S5        [        [        R                  R                  S5      S   5      S	:  a'  TR                  S
   S   n [        [        U4S j5        O)TR                  S
   S   S   n [        [        U4S j5        U S;   d   eTR                  S5        TR                  S5        TR                  S5        [        [        R                  R                  S5      S   5      S	:  a%  TR                  S
   S   n TR                  S
   S   nO*TR                  S
   S   S   n TR                  S
   S   S   nU S;   d   eUS:X  d   eTR                  S5        TR                  S5        [        [        R                  R                  S5      S   5      S	:  a  TR                  S
   S   nOTR                  S
   S   S   nUS:X  d   eTR                  S5        TR                  S5        TR                  S5        [        [        R                  R                  S5      S   5      S	:  a'  TR                  S
   S   n [        [        U4S j5        O)TR                  S
   S   S   n [        [        U4S j5        U S;   d   eg )Nr    r!   r"   r#   r(   z2a = format({Symbol('pi'): 3.14, Symbol('n_i'): 3})r$   r   r   r   r%   c                  (   > T R                   S   S   $ Nr   
text/latexr   r   s   r   <lambda>+test_print_builtin_option.<locals>.<lambda>}       S!1,!?r   c                  .   > T R                   S   S   S   $ Nr   r   r1   r2   r   s   r   r3   r4          S!1!!4\!Br   ){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                  (   > T R                   S   S   $ r0   r2   r   s   r   r3   r4      r5   r   c                  .   > T R                   S   S   S   $ r7   r2   r   s   r   r3   r4      r8   r   )r9   r:   )	r   r   r   r*   r+   r,   r   r
   KeyError)textlatexr   s     @r   test_print_builtin_optionrB   p   s   

 CLL%&LL'(LL9:LL+,LL23LLEF
7$$S)!,-1{{3-x?@{{3"<0xBC  a a a a LLQRLL01LLEF
7$$S)!,-1{{3-C .{{3"<0C #L1 a a a a OOOO LL  	
 LL01
7$$S)!,-1C .C #L1<<<<LLQRLLEFLLEF
7$$S)!,-1{{3-x?@{{3"<0xBC
 ????r   c                  $   [        5       n U R                  S5        U R                  S5        U R                  S5        U R                  S5        U R                  S5        U R                  S5        U R                  S5        U R                  S5        U R                  S	5        U R                  S
5        [        [        R                  R                  S5      S   5      S:  a  U R                  S   S   S:X  d   eSU R                  S   ;  d   eU R                  S   S   S S S:X  d   eSU R                  S   ;  d   eU R                  S   S   S:X  d   eU R                  S   S   S:X  d   eg U R                  S   S   S   S:X  d   eSU R                  S   S   ;  d   eU R                  S   S   S   S S S:X  d   eSU R                  S   S   ;  d   eU R                  S   S   S   S:X  d   eU R                  S   S   S   S:X  d   eg )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_containersrH      sH   

 CLL%&LL'(LL9:LLQRLL:;LLCD LL,-LLLL()LL01
7$$S)!,-1{{3-/AAA3;;s#3333{{3-cr2lBBB3;;s#3333{{3- 	  {{3-  2G  G  	G  G{{3"<0_DDD3;;s#3A#6666{{3"<0"5EEE3;;s#3A#6666{{3"<0 	  {{3"<0  5J  J  	J  Jr   c                  2   [        5       n U R                  S5        U R                  S5        U R                  S5        U R                  S5        U R                  S5        U R                  S5        U R                  S5        U R                  S5        [        [        R                  R                  S	5      S
   5      S:  a  U R                  S5        OU R                  S5        U R                  S5        U R                  S5        U R                  S5        g )Nimport IPythonr    r!   r"   rD   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_latexrK      s    

 CLL!"LL%&LL'(LL9:LL:;LL89 LLPQ LL"#
7$$S)!,-156_` LL01 LL:;LLTUr   c                  *   [        5       n U R                  S5        U R                  S5        U R                  S5        U R                  S5        U R                  S5        U R                  S5        U R                  S5        U R                  S5        U R                  S	5        U R                  S
5        [        [        R                  R                  S5      S   5      S:  a  U R                  S   S   nOU R                  S   S   S   nUS:X  d   eg )NrJ   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   rA   s     r   test_override_repr_latexrM      s    

 CLL!"LL%&LL'(LL9:LLQRLL23LL+,LL01LL  	
 LL67
7$$S)!,-1C .C #L14444r   N)__doc__sympy.interactive.sessionr   r   r   
sympy.corer   r   r   sympy.externalr	   sympy.testing.pytestr
   r*   disabledr   r   r-   rB   rH   rK   rM    r   r   <module>rU      sc    BB B 1 0 ( ' 	e
<H$:.(dDG@T'JRV:5r   