U
    ýÇ-ei  ã                   @   sT   d Z ddlZdd„ Zdd„ Zdd„ Zejd	ke_d
d„ Zdd„ Zdd„ Z	dd„ Z
dS )z’Simple example using doctests.

This file just contains doctests both using plain python and IPython prompts.
All tests should be loaded by nose.
é    Nc                   C   s   dS )zÖSome pure python tests...

    >>> pyfunc()
    'pyfunc'

    >>> import os

    >>> 2+3
    5

    >>> for i in range(3):
    ...     print(i, end=' ')
    ...     print(i+1, end=' ')
    ...
    0 1 1 2 2 3 
    Úpyfunc© r   r   r   úa/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/IPython/testing/plugin/dtexample.pyr   
   s    r   c                   C   s   dS )a6  Some ipython tests...

    In [1]: import os

    In [3]: 2+3
    Out[3]: 5

    In [26]: for i in range(3):
       ....:     print(i, end=' ')
       ....:     print(i+1, end=' ')
       ....:
    0 1 1 2 2 3


    It's OK to use '_' for the last result, but do NOT try to use IPython's
    numbered history of _NN outputs, since those won't exist under the
    doctest environment:

    In [7]: 'hi'
    Out[7]: 'hi'

    In [8]: print(repr(_))
    'hi'

    In [7]: 3+4
    Out[7]: 7

    In [8]: _+3
    Out[8]: 10

    In [9]: ipfunc()
    Out[9]: 'ipfunc'
    Úipfuncr   r   r   r   r   r      s    "r   c                   C   s   dS )zÑExamples that access the operating system work:

    In [1]: !echo hello
    hello

    In [2]: !echo hello > /tmp/foo_iptest

    In [3]: !cat /tmp/foo_iptest
    hello

    In [4]: rm -f /tmp/foo_iptest
    Nr   r   r   r   r   ÚiposB   s    r   Úntc                   C   s   dS )a<  A function with some random output.

       Normal examples are verified as usual:
       >>> 1+3
       4

       But if you put '# random' in the output, it is ignored:
       >>> 1+3
       junk goes here...  # random

       >>> 1+2
       again,  anything goes #random
       if multiline, the random mark is only needed once.

       >>> 1+2
       You can also put the random marker at the end:
       # random

       >>> 1+2
       # random
       .. or at the beginning.

       More correct input is properly verified:
       >>> ranfunc()
       'ranfunc'
    Úranfuncr   r   r   r   r   r   U   s    r   c                   C   s   dS )aé  A function where we ignore the output of ALL examples.

    Examples:

      # all-random

      This mark tells the testing machinery that all subsequent examples should
      be treated as random (ignoring their output).  They are still executed,
      so if a they raise an error, it will be detected as such, but their
      output is completely ignored.

      >>> 1+3
      junk goes here...

      >>> 1+3
      klasdfj;

      >>> 1+2
      again,  anything goes
      blah...
    Nr   r   r   r   r   Ú
random_alls   s    r	   c                   C   s   dS )z¥Some ipython tests with random output.

    In [7]: 3+4
    Out[7]: 7

    In [8]: print('hello')
    world  # random

    In [9]: iprand()
    Out[9]: 'iprand'
    Úiprandr   r   r   r   r   r
   ‹   s    r
   c                   C   s   dS )z¸Some ipython tests with fully random output.

    # all-random
    
    In [7]: 1
    Out[7]: 99

    In [8]: print('hello')
    world

    In [9]: iprand_all()
    Out[9]: 'junk'
    Ú
iprand_allr   r   r   r   r   r   ™   s    r   )Ú__doc__Úosr   r   r   ÚnameZ__skip_doctest__r   r	   r
   r   r   r   r   r   Ú<module>   s   %