Spaces:
Runtime error
Runtime error
"""Tests for the ipdoctest machinery itself. | |
Note: in a file named test_X, functions whose only test is their docstring (as | |
a doctest) and which have no test functionality of their own, should be called | |
'doctest_foo' instead of 'test_foo', otherwise they get double-counted (the | |
empty function call is counted as a test, which just inflates tests numbers | |
artificially). | |
""" | |
def doctest_simple(): | |
"""ipdoctest must handle simple inputs | |
In [1]: 1 | |
Out[1]: 1 | |
In [2]: print(1) | |
1 | |
""" | |
def doctest_multiline1(): | |
"""The ipdoctest machinery must handle multiline examples gracefully. | |
In [2]: for i in range(4): | |
...: print(i) | |
...: | |
0 | |
1 | |
2 | |
3 | |
""" | |
def doctest_multiline2(): | |
"""Multiline examples that define functions and print output. | |
In [7]: def f(x): | |
...: return x+1 | |
...: | |
In [8]: f(1) | |
Out[8]: 2 | |
In [9]: def g(x): | |
...: print('x is:',x) | |
...: | |
In [10]: g(1) | |
x is: 1 | |
In [11]: g('hello') | |
x is: hello | |
""" | |
def doctest_multiline3(): | |
"""Multiline examples with blank lines. | |
In [12]: def h(x): | |
....: if x>1: | |
....: return x**2 | |
....: # To leave a blank line in the input, you must mark it | |
....: # with a comment character: | |
....: # | |
....: # otherwise the doctest parser gets confused. | |
....: else: | |
....: return -1 | |
....: | |
In [13]: h(5) | |
Out[13]: 25 | |
In [14]: h(1) | |
Out[14]: -1 | |
In [15]: h(0) | |
Out[15]: -1 | |
""" | |
def doctest_builtin_underscore(): | |
"""Defining builtins._ should not break anything outside the doctest | |
while also should be working as expected inside the doctest. | |
In [1]: import builtins | |
In [2]: builtins._ = 42 | |
In [3]: builtins._ | |
Out[3]: 42 | |
In [4]: _ | |
Out[4]: 42 | |
""" | |