
    &ei                     \    d Z ddlZd Zd Zd Zej        dk    e_        d Zd Zd	 Z	d
 Z
dS )zSimple example using doctests.

This file just contains doctests both using plain python and IPython prompts.
All tests should be loaded by nose.
    Nc                      dS )zSome 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       @lib/python3.11/site-packages/IPython/testing/plugin/dtexample.pyr   r   
   s	    " 8r   c                      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
    D 8r   c                      dS )zExamples 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   iposr   B   s	     	Dr   ntc                      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	    6 9r   c                      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   
random_allr   s   s	    , 	Dr   c                      dS )zSome 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	     8r   c                      dS )zSome 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   name__skip_doctest__r   r   r   r   r   r   r   <module>r      s     
			  &" " "J	 	 	  4   <	 	 	0      r   