ó
    Ù^íhi  ã                   ób   • S r SSKrS rS rS r\R
                  S:H  \l        S rS rS	 r	S
 r
g)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                  ó   • g)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   ó    ÚZ/home/james-whalen/.local/lib/python3.13/site-packages/IPython/testing/plugin/dtexample.pyr   r   
   s   € ð" r   c                  ó   • g)aÞ  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 r   c                  ó   • g)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   Úiposr   B   s   € ð 	r   Úntc                  ó   • g)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 r   c                  ó   • g)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   € ð, 	r   c                  ó   • g)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                  ó   • g)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   ÚnameÚ__skip_doctest__r   r   r   r   r   r   r   Ú<module>r      sE   ðñó 
òò&"òJ	ð  Ÿ™ 4™€Ô òò<	ò0ór   