diff options
author | Antoine Pitrou <solipsis@pitrou.net> | 2011-12-18 19:20:17 (GMT) |
---|---|---|
committer | Antoine Pitrou <solipsis@pitrou.net> | 2011-12-18 19:20:17 (GMT) |
commit | 165b1283ffe5922dd9f64ef7edb5534e6983d2f5 (patch) | |
tree | c857bb9f6aaa0c22476b9dfa457418d6758cb81e /Lib/doctest.py | |
parent | 92ed3877b471e5e285b5e76b6f13547e579daaa4 (diff) | |
download | cpython-165b1283ffe5922dd9f64ef7edb5534e6983d2f5.zip cpython-165b1283ffe5922dd9f64ef7edb5534e6983d2f5.tar.gz cpython-165b1283ffe5922dd9f64ef7edb5534e6983d2f5.tar.bz2 |
Followup to #7502: add __hash__ method and tests.
Diffstat (limited to 'Lib/doctest.py')
-rw-r--r-- | Lib/doctest.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/Lib/doctest.py b/Lib/doctest.py index 3daf17f..234733e 100644 --- a/Lib/doctest.py +++ b/Lib/doctest.py @@ -454,6 +454,10 @@ class Example: def __ne__(self, other): return not self == other + def __hash__(self): + return hash((self.source, self.want, self.lineno, self.indent, + self.exc_msg)) + class DocTest: """ @@ -517,6 +521,9 @@ class DocTest: def __ne__(self, other): return not self == other + def __hash__(self): + return hash((self.docstring, self.name, self.filename, self.lineno)) + # This lets us sort tests by name: def __lt__(self, other): if not isinstance(other, DocTest): @@ -2245,6 +2252,10 @@ class DocTestCase(unittest.TestCase): def __ne__(self, other): return not self == other + def __hash__(self): + return hash((self._dt_optionflags, self._dt_setUp, self._dt_tearDown, + self._dt_checker)) + def __repr__(self): name = self._dt_test.name.split('.') return "%s (%s)" % (name[-1], '.'.join(name[:-1])) |