Viewing file: test_doctest2.py (2.3 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
"""A module to test whether doctest recognizes some 2.2 features, like static and class methods.
>>> print('yup') # 1 yup
We include some (random) encoded (utf-8) text in the text surrounding the example. It should be ignored:
ЉЊЈЁЂ
"""
import sys import unittest from test import support if sys.flags.optimize >= 2: raise unittest.SkipTest("Cannot test docstrings with -O2")
class C(object): """Class C.
>>> print(C()) # 2 42
We include some (random) encoded (utf-8) text in the text surrounding the example. It should be ignored:
ЉЊЈЁЂ
"""
def __init__(self): """C.__init__.
>>> print(C()) # 3 42 """
def __str__(self): """ >>> print(C()) # 4 42 """ return "42"
class D(object): """A nested D class.
>>> print("In D!") # 5 In D! """
def nested(self): """ >>> print(3) # 6 3 """
def getx(self): """ >>> c = C() # 7 >>> c.x = 12 # 8 >>> print(c.x) # 9 -12 """ return -self._x
def setx(self, value): """ >>> c = C() # 10 >>> c.x = 12 # 11 >>> print(c.x) # 12 -12 """ self._x = value
x = property(getx, setx, doc="""\ >>> c = C() # 13 >>> c.x = 12 # 14 >>> print(c.x) # 15 -12 """)
@staticmethod def statm(): """ A static method.
>>> print(C.statm()) # 16 666 >>> print(C().statm()) # 17 666 """ return 666
@classmethod def clsm(cls, val): """ A class method.
>>> print(C.clsm(22)) # 18 22 >>> print(C().clsm(23)) # 19 23 """ return val
def test_main(): from test import test_doctest2 EXPECTED = 19 f, t = support.run_doctest(test_doctest2) if t != EXPECTED: raise support.TestFailed("expected %d tests to run, not %d" % (EXPECTED, t))
# Pollute the namespace with a bunch of imported functions and classes, # to make sure they don't get tested. from doctest import *
if __name__ == '__main__': test_main()
|